FROM Clause Da.fill中的语法错误?

时间:2013-10-23 19:15:32

标签: vb.net visual-studio-2010 dataadapter

我在此代码中的表单子句中出现语法错误,有人可以帮忙吗?谢谢:))

    Dim sql As String                                  
    Dim con As New OleDb.OleDbConnection                
    Dim da As OleDb.OleDbDataAdapter                    
    Dim ds As New DataSet                               



    con.ConnectionString = "PROVIDER = Microsoft.Jet.OLEDB.4.0; Data Source = G:\school\Thespellingbee\Resources\Spelling Bee1.mdb"   
    con.Open()                                          

    sql = "SELECT * FROM Words + Definitions"

    da = New OleDb.OleDbDataAdapter(sql, con)          

    da.Fill(ds, "Words + Definitions")                  
    con.Close()                                         


    Dim cb As New OleDb.OleDbCommandBuilder(da)         stored data adapter in the variable cb
    WordTextBox.Text = ds.Tables("Words + Definitions").Rows(0).Item(2)
    DescriptionTextBox.Text = ds.Tables("Words + Definitions").Rows(0).Item(3)

    da.Update(ds, "Words + Definitions")

    MsgBox("It's working", MessageBoxButtons.OK)

这是我尝试使用数据集和适配器更新数据库,即使我刚刚开始在A-level中学习它,我仍然是v basic的新手。

2 个答案:

答案 0 :(得分:0)

我认为你的这一行造成了一个问题: -

sql = "SELECT * FROM Words + Definitions"

我不认为这是允许的。您不能使用+连接表(将字和定义视为表格)

如果表名是Words + Definitions,你可以试试这个: -

sql = "SELECT * FROM [Words + Definitions]"

这一行也应该是

的变化
da.Fill(ds, "Words + Definitions")

这很简单: -

da.Fill(ds)

答案 1 :(得分:0)

如果表名为“Words + Definitions”,那么您需要将其放在FROM子句的方括号中:

SELECT * FROM [Words + Definitions]