无法使用.net插入访问数据库

时间:2014-08-06 09:43:20

标签: sql vb.net

我使用此网站让我按照插入命令继续操作,但是,我无法让它工作。 How can I insert data into 2 different table in VB.net, I'm using MS Access as my db 我有3个表,1个带有食物类型,1个有(基本上)菜单和1个连接表,用于连接菜单的ID和sfoodtypes的ID。 我尝试使用查询来创建新菜单。但是,发生错误: 有 ;缺少sql字符串

Str = "INSERT INTO tbl_rantsoen (Rantsoen, Voer, Gewicht) VALUES (cbRantsoen.text,   cbVoer.text, txtGewicht.text) VALUES (cbRantsoen.text, cbVoer.text, txtGewicht.text) WHERE RantsoenID = tblRantsoen.RantsoenID, Voer = '" & cbVoer.Text & "', Gewicht = '" & tbGewicht.Text & "'" 

现在,我尝试了不同的地方放置;但是找不到合适的位置。谁能帮我?

代码的其余部分::

编辑:(和清理) 我根据下面的评论做了一些修改,但我仍然得到了;缺少错误。

    Dim cmd As New OleDbCommand
    Dim cmd1 As New OleDbCommand
    Dim cmd2 As New OleDbCommand
    Dim Str As String
    Dim Str1 As String
    Dim Str2 As String
    Str = "INSERT INTO tbl_rantsoen (Rantsoen, Voer, Gewicht) VALUES (cbRantsoen.text, cbVoer.text, txtGewicht.text) VALUES (cbRantsoen.text, cbVoer.text, txtGewicht.text); " 'WHERE RantsoenID = tblRantsoen.RantsoenID, Voer = '" & cbVoer.Text & "', Gewicht = '" & tbGewicht.Text & "'"
    Str1 = "INSERT INTO tbl_voersoorten (VoerID, Voer) VALUES (cbVoer.text) WHERE Voer = '" & cbVoer.Text & "'"
    Str2 = "INSERT INTO tbl_rantsoenKoppel (VoerID, RantsoenID) VALUES() WHERE RantsoenID = tbl_rantsoenkoppel.FKRantsoenID AND VoerID = tbl_voersoorten.VoerID"
    connection.Open()
    cmd = New OleDbCommand(Str, connection)
    cmd1 = New OleDbCommand(Str1, connection)
    cmd2 = New OleDbCommand(Str2, connection)
    cmd.ExecuteNonQuery()
    cmd1.ExecuteNonQuery()
    cmd2.ExecuteNonQuery()

2 个答案:

答案 0 :(得分:0)

您的INSERT语法错误。不能有WHERE子句。

INSERT INTO TableName (Column1,Column2,Colum3) VALUES(Value1,Value2,Value3);

如果您尝试更改现有记录,请尝试使用UPDATE子句

UPDATE TableName SET Column1 = Value1 , Column2 = Value2, Column3 = Value3 WHERE Condition1 = Condition2 AND Condition3 = Condition4

答案 1 :(得分:0)

您无法在WHERE命令中使用INSERT条款 如果你想在单CommandText中执行多个命令,你应该用;分隔它们。
最后:

Str  = "INSERT INTO tbl_rantsoen (Rantsoen, Voer, Gewicht) VALUES ('" & cbRantsoen.text & "', '"& cbVoer.text & "','"& txtGewicht.text & "')"
Str1 = "INSERT INTO tbl_voersoorten ( Voer) VALUES ('" & cbVoer.text & "')"

并且对于查询Str3,您应该从最后两个查询中获取相关的id并将它们插入到第3个查询中;)