Не удалось связать многокомпонентный идентификатор "System.Data.DataRowView". SQL SERVER + VB.NET
Я делаю небольшую базу данных, используя SQL Server в качестве задней части и VB в качестве внешнего интерфейса, я почти заставил ее работать, однако я наткнулся на эту ошибку:
"Произошло необработанное исключение типа" System.Data.SqlClient.SqlException "в System.Data.dll
Дополнительная информация: Не удалось связать многокомпонентный идентификатор "System.Data.DataRowView".
Мой код приведен ниже, буду очень признателен за помощь
ура
Imports System.Data.SqlClient
Public Class searchDialog
Private Sub searchDialog_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'SearchDataSet.Books' table. You can move, or remove it, as needed.
Me.BooksTableAdapter.Fill(Me.SearchDataSet.Books)
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim ds As New DataSet
Dim query As String = "select * from Books where " + colNames.SelectedValue.ToString + " LIKE " + "'%" + colValues.Text + "%'"
BooksTableAdapter.Connection.Open()
Dim adp As New SqlDataAdapter(query, BooksTableAdapter.Connection.ConnectionString)
adp.Fill(ds, query)
BooksTableAdapter.Connection.Close()
filteredRecords.DataSource = ds
filteredRecords.DataMember = "Books"
End Sub
End Class
1 ответ
Ваша ошибка в этой строке:
adp.Fill(ds, query)
Вы хорошо заполняете набор данных. Тем не менее, второй аргумент.Fill() должен быть именем таблицы данных. Вы пытаетесь использовать запрос в качестве имени таблицы, но он слишком длинный и сложный. Вам было бы лучше с чем-то вроде этого:
adp.Fill(ds, "Books")