Reputation: 12012
I have this code:
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
While loading the page, the error thrown was
Input array is longer than the number of columns in this table
What's wrong with my code?
Upvotes: 9
Views: 72592
Reputation: 1039498
You need to add columns to this data table first:
Dim dt As New DataTable
dt.Columns.Add("RName", GetType(String))
Also I don't know much about the con
, cmd
and dr2
variables in your code but I would strongly recommend you to dispose them properly:
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
Upvotes: 22