我正在开发一个模块,用于从ZKSoftware指纹生物识别中捕获Attlogs并使用CD附带的SDK将其发送到MySQL数据库,到目前为止,我设法成功连接到时钟,显示日志listview,但是我在多维数组上推动了数值,我确定它是一个声明问题,但我最好请求帮助......代码如下:
Dim thisLog(1) As String
Dim allLogs()() As String = New String()() {}
之后迭代次数(i)加载我得到的列表视图中的Attlog:
thisLog = {sdwEnrollNumber, idwYear.ToString() & "-" + idwMonth.ToString() & "-" & idwDay.ToString() & " " & idwHour.ToString() & ":" & idwMinute.ToString() & ":" & idwSecond.ToString()}
allLogs(i) = {thisLog(0), thisLog(1)}
我得到的错误与数组的大小有关,因此可以恢复如何使用捕获数据的每一行创建矩形数组(2)(n)的问题。提前致谢
答案 0 :(得分:2)
我强烈建议您创建一个用于存储数据的类。之后有一个List(Of LogEntry)。这将使您的代码更容易阅读。
Class LogEntry
Public Property EnrollNumber As String
Public Property EntryDate As DateTime
Public Sub New(ByVal enrollNumber As String, ByVal entryDate As DateTime)
Me.EnrollNumber = enrollNumber
Me.EntryDate = entryDate
End Sub
End Class
要添加新记录,您只需创建该类的实例并将其添加到列表中。
Dim allLogs As New List(Of LogEntry)
allLogs.Add(New LogEntry(sdwEnrollNumber, New DateTime(idwYear, idwMonth, idwDay, idwHour, idwMinute, idwSecond)))
由于您现在拥有一个有效的日期而不是字符串的连接,因此以后可以轻松进行操作。
Console.WriteLine(allLogs(0).EnrollNumber)
Console.WriteLine(allLogs(0).EntryDate.ToString("yyyy-MM-dd HH:mm:ss"))
答案 1 :(得分:1)
如何使用捕获数据的每一行创建一个矩形数组(2)(n)?
使用清单:
Dim allLogs As New List(Of String())()
allLogs.Add(New String(1) {sdwEnrollNumber, _
String.Format("{0}-{1}-{2} {3}:{4}:{5}", _
idwYear, idwMonth, idwDay, idwHour, idwMinute, idwSecond)} )
我也可以使用appropriate DateTime constructor和format string格式化第二部分,具体取决于您首先获得这些idw
变量的方式。