vidya jobin Ответов: 1

Входной массив длиннее, чем количество столбцов в этой таблице. В VB.NET


Private Sub Form7_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim dr As DataRow
        con = New SqlConnection(conn)
        con.Open()
        Dim dt As DataTable
        dt = New DataTable()

        da = New SqlDataAdapter("select LAID  from LoanApplication where statuss=1", con)
        da.Fill(dt)
        
        If dt.Rows.Count > 0 Then
            dr = dt.NewRow()
            dr.ItemArray = New Object() {0, "--Select Name--"}
            dt.Rows.InsertAt(dr, 0)
           
            ComboBox3.ValueMember = "LAID"
            ComboBox3.DisplayMember = "LAID"
            ComboBox3.DataSource = dt

        End If

        con.Close()
    End Sub
End Class



Что я уже пробовал:

Private Sub Form7_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim dr As DataRow
        con = New SqlConnection(conn)
        con.Open()
        Dim dt As DataTable
        dt = New DataTable()

        da = New SqlDataAdapter("select LAID  from LoanApplication where statuss=1", con)
        da.Fill(dt)
        
        If dt.Rows.Count > 0 Then
            dr = dt.NewRow()
            dr.ItemArray = New Object() {0, "--Select Name--"}
            dt.Rows.InsertAt(dr, 0)
           
            ComboBox3.ValueMember = "LAID"
            ComboBox3.DisplayMember = "LAID"
            ComboBox3.DataSource = dt

        End If

        con.Close()
    End Sub
End Class

F-ES Sitecore

Ваш DataTable имеет только один столбец (заложен), но вы пытаетесь добавить к нему два значения (0 и "--Select Name--"). Вместо того чтобы добавлять данные в datatable, добавьте "Select Name" непосредственно в combobox. Установите это свойство, которое добавляет элементы привязки данных, а не заменяет их.

1 Ответов

Рейтинг:
0

OriginalGriff

Вы выбираете только один столбец из своей базы данных:

da = New SqlDataAdapter("select LAID  from LoanApplication where statuss=1", con)
da.Fill(dt)
Затем вы пытаетесь установить два элемента данных в строку таблицы:
dr = dt.NewRow()
dr.ItemArray = New Object() {0, "--Select Name--"}
Система смотрит на него и жалуется, потому что не знает, что делать с вашими данными: если она автоматически добавляет столбец в DataTable, она понятия не имеет, что поместить в другие строки, если нет, то она должна отбросить данные, которые вы только что предоставили.

Вероятно, вам нужно выбрать строку/номер или идентификатор из вашей БД, а также заложенное значение.


Richard MacCutchan

База данных, которая поможет вам "потрахаться". Черт возьми, что дальше? :))

OriginalGriff

Я ревную.
Ни одна из моих баз данных никогда не помогала мне трахаться...