0

我有一个函数(应该)从数据库中的随机记录返回一个二维字符串数组/矩阵

Function GetRndRecords(table As String, fields As String(), num_records As Integer) As String(,)
    If not connected Then
        Connect()
    End If
    Dim Rand as New Random()
    Dim strSQL As String
    Dim ID_Max As Integer
    Dim Results(num_records,fields.Length) As String
    strSQL = "SELECT COUNT(*) FROM " & table
    dbcomm = New OleDbCommand(strSQL,dbconn)
    ID_Max = dbcomm.ExecuteScalar()
    Dim i As Integer
    For i=0 To num_records-1
        Do
            Dim Rand_ID As Integer = Rand.Next(1,ID_Max)
            Dim j As Integer
            strSQL = "SELECT "                                      ' strSQL begin
            For j = 0 To fields.Length-1
                If(j <> 0) Then
                    strSQL &= ", "
                End If
                strSQL &= fields(j)
            Next
            strSQL &= " FROM " & table & " WHERE ID = " & Rand_ID   ' strSQL end
            dbcomm = New OleDbCommand(strSQL,dbconn)
            dbread = dbcomm.ExecuteReader()
            dbread.Read()
            For j = 0 To fields.Length-1
                Results(i,j) = dbread.GetString(j)
            Next
        Loop Until dbread.GetString(0) <> ""
    Next
    Return Results
End Function

我在这个函数中没有遇到任何问题,但是当我调用它时(在 Page_Load 事件中)我得到了一个(“BC30201:预期的表达式。”)

Sub Page_Load
    Dim Rand_Records As String(,)
    Rand_Records = GetRndRecords("Autore",{"ID","Nome"},PossibleAnswers-1)
End Sub

我什至试过这个,结果相同

Sub Page_Load
    Dim Rand_Records As String(,)
    Rand_Records = new String({"ID1","Nome1"},{"ID2","Nome2"},{"ID3","Nome3"})
End Sub

谁能解释我为什么?

4

0 回答 0