如何使用sta_readLogByPeriod代码?这是来自Zkteco的源代码,但是它不起作用。
string fromTime = stime_log.Text.Trim().ToString();
string toTime = etime_log.Text.Trim().ToString();
DataTable dt_periodLog = new DataTable("dt_periodLog");
gv_Attlog.AutoGenerateColumns = true;
gv_Attlog.Columns.Clear();
dt_periodLog.Columns.Add("User ID", System.Type.GetType("System.String"));
dt_periodLog.Columns.Add("Verify Date", System.Type.GetType("System.String"));
dt_periodLog.Columns.Add("Verify Type", System.Type.GetType("System.Int32"));
dt_periodLog.Columns.Add("Verify State", System.Type.GetType("System.Int32"));
dt_periodLog.Columns.Add("WorkCode", System.Type.GetType("System.Int32"));
gv_Attlog.DataSource = dt_periodLog;
DataMng.SDK.sta_readLogByPeriod(DataMng.lbSysOutputInfo, dt_periodLog, fromTime, toTime);但是我在Github中看到,我需要更新我的固件版本,但是我如何更新我的固件版本呢?Github Link。
发布于 2019-12-18 10:17:29
如菲律宾Zkteco所述。

好像我们什么也做不了。
正如Zkteco所说:
Good Day!
About this, only us can update firmware and there's a charge to it.发布于 2021-02-13 09:50:49
首先将所有日志填充到数据表中,然后使函数填充数据表
public int sta_readLogByPeriod( DataTable dt_logPeriod, string fromTime, string toTime)
{
zkemkeeper.CZKEM axCZKEM1 = new zkemkeeper.CZKEM();
if (axCZKEM1.Connect_Net("192.168.1.201",4370) == false)
{
MessageBox.Show("*Please connect first!");
return -1024;
}
dt_logPeriod.Columns.Add("User ID", System.Type.GetType("System.String"));
dt_logPeriod.Columns.Add("Verify Date", System.Type.GetType("System.String"));
dt_logPeriod.Columns.Add("Verify Type", System.Type.GetType("System.Int32"));
dt_logPeriod.Columns.Add("Verify State", System.Type.GetType("System.Int32"));
dt_logPeriod.Columns.Add("WorkCode", System.Type.GetType("System.Int32"));
int ret = 0;
axCZKEM1.EnableDevice(1, false);//disable the device
string sdwEnrollNumber = "";
int idwVerifyMode = 0;
int idwInOutMode = 0;
int idwYear = 0;
int idwMonth = 0;
int idwDay = 0;
int idwHour = 0;
int idwMinute = 0;
int idwSecond = 0;
int idwWorkcode = 0;
if (axCZKEM1.ReadTimeGLogData(1, fromTime, toTime))
{
while (axCZKEM1.SSR_GetGeneralLogData(1, out sdwEnrollNumber, out idwVerifyMode,
out idwInOutMode, out idwYear, out idwMonth, out idwDay, out idwHour, out idwMinute, out idwSecond, ref idwWorkcode))//get records from the memory
{
DataRow dr = dt_logPeriod.NewRow();
dr["User ID"] = sdwEnrollNumber;
dr["Verify Date"] = idwYear + "-" + idwMonth + "-" + idwDay + " " + idwHour + ":" + idwMinute + ":" + idwSecond;
dr["Verify Type"] = idwVerifyMode;
dr["Verify State"] = idwInOutMode;
dr["WorkCode"] = idwWorkcode;
dt_logPeriod.Rows.Add(dr);
}
ret = 1;
}
else
{
axCZKEM1.GetLastError(ref ret);
if (ret != 0)
{
MessageBox.Show("*Read attlog by period failed,ErrorCode: " + ret.ToString());
}
else
{
MessageBox.Show("No data from terminal returns!");
}
}
//lblOutputInfo.Items.Add("[func ReadTimeGLogData]Temporarily unsupported");
axCZKEM1.EnableDevice(1, true);//enable the device
return ret;
}现在调用函数并传递数据表
DataTable dt_periodLog = new DataTable("dt_periodLog");
sta_readLogByPeriod(dt_periodLog, dt1.Text, dt2.Text);现在您可以在for循环中使用这个数据表在gridview中显示
foreach (DataRow row in dt_periodLog .Rows)
{
datagridview1.Rows.Add(row[0]);
}https://stackoverflow.com/questions/59387409
复制相似问题