1

データを入力できませんOleDbDataAdapter

OleDbExceptionのメッセージが表示されます Syntax error in FROM clause.

この行でadapter.Fill(dataset, "User")

これがコードです

Imports System.Data.OleDb

Public Class Form1

Public connection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\MyDatabase.mdb;Persist Security Info=False")

Private Sub button_display_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button_display.Click
    connection.Close()
    connection.Open()
    Dim adapter As New OleDbDataAdapter
    adapter.SelectCommand = New OleDbCommand
    adapter.SelectCommand.Connection = connection
    adapter.SelectCommand.CommandText = "select * from user;"

    Dim dataset As New DataSet
    adapter.Fill(dataset, "User")
    connection.Close()
    Dim datarow = dataset.Tables("User").Rows(0)
    Dim fname, lname As String
    fname = datarow(0)
    lname = datarow(1)
    txtfirstname.Text = fname
    txtlastname.Text = lname

End Sub
End Class

交換してみました

    Dim adapter As New OleDbDataAdapter
    adapter.SelectCommand = New OleDbCommand
    adapter.SelectCommand.Connection = connection
    adapter.SelectCommand.CommandText = "select * from user;"

    Dim dataset As New DataSet
    adapter.Fill(dataset, "User")

    Dim adapter As New OleDbDataAdapter("select * from user;", connection)
    Dim dataset As New DataSet
    adapter.Fill(dataset, "User")

そしてまた私は試しました

    Dim adapter As New OleDbDataAdapter
    adapter.SelectCommand = New OleDbCommand("select * from user;", connection)
    Dim dataset As New DataSet
    adapter.Fill(dataset)

しかし、私は同じ例外を受け取りますSyntax error in FROM clause

4

2 に答える 2

6

ユーザーは予約語です。次のように記述します。

"select * from [user];"

角かっこに注意してください。テーブルの名前を変更して、予約語を完全に避ける方がよいでしょう。

于 2011-03-12T14:29:20.977 に答える
0

adapter.SelectCommand = New OleDbCommand が正しいかどうかはわかりません (私はあまり VB をやらないので、間違っている可能性があります)。最後まで近づいてください。

次のようなことを試してください:

Dim conn As New OleDbConnection(connection)
Dim adapter As New OleDbDataAdapter()
conn.Open()
adapter.SelectCommand = new OleDbCommand("Select * From User", conn)
DataSet dataset As New DataSet
adapter.Fill(dataset)
conn.Close()

'残りのコード

于 2011-03-12T13:54:33.317 に答える