0
これをデバッグすると、無効な列名エラー(「オブジェクトの名前」)が表示されます。私はSQLデータベースを使用しています。vb.net OleDbDataAdapterが動作しませんSelect From Where
Protected Sub ddlKunden_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlKunden.SelectedIndexChanged
Dim strSql As String
Dim kontakt As String = ddlKunden.SelectedItem.Value
Dim dtbP As DataTable
Using connection As OleDbConnection = New OleDbConnection(strConnection)
connection.ConnectionString = strConnection
connection.Open()
'Kontaktpersonen laden
strSql = "SELECT * FROM Kontaktpersonen WHERE Nr =" & Chr(34) & kontakt & Chr(34)
dtbP = New DataTable()
Using dad As New OleDbDataAdapter(strSql, connection)
dad.Fill(dtbP)
End Using
ddlKontaktperson.Items.Clear()
ddlKontaktperson.DataSource = dtbP
ddlKontaktperson.DataTextField = "AP_Nam"
ddlKontaktperson.DataValueField = "ID"
ddlKontaktperson.DataBind()
End Using
ddlKontaktperson.Visible = True
End Sub
エラーが
dad.fill(dtbP)
でそれがNR =「選択した値」とあなたがドロップダウンリストで選択したすべての行を選択する必要がありポップ。これらの行はすべてデータテーブルに保存し、別のドロップダウンリストで使用する必要があります。
私はどこでもまったく同じことをしようとすると動作します。
例:
'Kunden laden
strSql = "SELECT * FROM Kontakte"
dtbK = New DataTable()
Using dad As New OleDbDataAdapter(strSql, connection)
dad.Fill(dtbK)
End Using
ddlKunden.Items.Clear()
ddlKunden.DataSource = dtbK
ddlKunden.DataTextField = "Nr"
ddlKunden.DataValueField = "Nr"
ddlKunden.DataBind()
これは機能します!ありがとう!私のコードがうまくいかなかった理由を教えてください。 – Sorx
コマンドは、Nr個= 1 以下が許容されるKontaktpersonen FROM => SELECT *なければならない=> SELECT * Nr個の= '1' が、以下のSQLエンジンKontaktpersonen WHERE NrとFROM構文上=> SELECT *にエラーが発生しWHERE Kontaktpersonen FROM = "1" – Eralper
おそらくコードは=> strSql = "SELECT * FROM Kontaktpersonen WHERE Nr ="&kontakt – Eralper