2010-02-28 18 views
4

代碼。由於「輸入數組長度超過此表中的列數」而出現錯誤。

Public Function comb1(ByVal SName As String) As DataTable 

     Dim dt As New DataTable 
     cmd = New SqlCommand("Select Distinct RName from tb_RS_New", con) 
     dr2 = cmd.ExecuteReader 
     While (dr2.Read()) 
      dt.Rows.Add(dr2("RName")) 
     End While 
     Return dt 

End Function 

在加載頁面時,錯誤被拋出的「輸入數組比列在這個表中的號碼再」

什麼錯在我的代碼。

需要幫助

回答

11

您需要將列添加到這個數據表第一:

Dim dt As New DataTable 
dt.Columns.Add("RName", GetType(String)) 

此外,我不知道很多關於你的代碼的concmddr2變量,但我強烈建議您妥善處置它們:

Dim dt As New DataTable 
dt.Columns.Add("RName", GetType(String)) 

Using con As New SqlConnection("connection string to the database") 
    Using cmd = con.CreateCommand() 
     con.Open() 
     cmd.CommandText = "Select Distinct RName from tb_RS_New" 
     Using dr = cmd.ExecuteReader() 
      While (dr.Read()) 
       dt.Rows.Add(dr("RName")) 
      End While 
     End Using 
    End Using 
End Using 
相關問題