|
本帖最后由 huangyz_xy 于 2024-1-11 10:03 编辑
Public Function GetArr(sql As String) As Array
Try
Dim result As New ArrayList()
Dim connection As New SQLiteConnection(builder.ConnectionString)
connection.Open()
Dim command As SQLiteCommand = connection.CreateCommand()
command.CommandText = sql
Dim reader As SQLiteDataReader = command.ExecuteReader
Dim dt As New DataTable()
For i = 1 To reader.FieldCount
dt.Columns.Add(reader.GetName(i - 1))
Next
While reader.Read()
Dim row As DataRow = dt.NewRow()
For i = 1 To reader.FieldCount
row(i - 1) = reader(i - 1)
Next
End While
Dim Arr As Object(,) = New Object(dt.Rows.Count - 1, dt.Columns.Count - 1) {}
For i As Integer = 0 To dt.Rows.Count - 1
For j As Integer = 0 To dt.Columns.Count - 1
Arr(i, j) = dt.Rows(i).ItemArray(j)
Next
Next
Return Arr
command.Dispose()
reader.Close()
connection.Close()
Catch ex As Exception
Throw
End Try
End Function
Sub t1()
Dim Arr()
Dim dll As New SQLHelper.ConnSQlite
sql = "select * from __users"
Arr = dll.GetArr(sql)
End Sub
用这个方法返回的数组在vb.net中在excel中一执行vba代码excel就闪退,有什么解决办法没?是什么原因导致的?
|
|