Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql VB.net中UPDATE语句中的语法错误_Sql_Vb.net_Syntax_Oledb - Fatal编程技术网

Sql VB.net中UPDATE语句中的语法错误

Sql VB.net中UPDATE语句中的语法错误,sql,vb.net,syntax,oledb,Sql,Vb.net,Syntax,Oledb,我有下面的问题,我可以为爱和金钱计算出我的更新语句中的错误在哪里?我上周才开始玩这个游戏,所以我的学习曲线很大 Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 'Declerations For Calling on Dim AnimalHouse As String AnimalHouse = "TestText" Dim AddressForAs

我有下面的问题,我可以为爱和金钱计算出我的
更新
语句中的错误在哪里?我上周才开始玩这个游戏,所以我的学习曲线很大

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    'Declerations For Calling on
    Dim AnimalHouse As String
    AnimalHouse = "TestText"
    Dim AddressForAssingment As Integer
    AddressForAssingment = 1
    Dim IDCheckAssignment As Integer
    IDCheckAssignment = 1
    Dim CommandText As String = _
        "UPDATE IOInformation.Description = @animalHouse, WHERE ID_number = @addrForAssn AND ID_Check = @Id;"

    'Connection Information 
    Dim myConnection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ProjectDirectory.Text)
    Dim myCommand As New OleDbCommand(CommandText)
    myCommand.Parameters.AddWithValue("@animalHouse", AnimalHouse)
    myCommand.Parameters.AddWithValue("@addrForAssn", AddressForAssingment)
    myCommand.Parameters.AddWithValue("@Id", IDCheckAssignment)

    myCommand.Connection = myConnection
    myConnection.Open()
    myCommand.ExecuteNonQuery()
    myConnection.Close()


End Sub

对于update
updatea tablename SET collumnName='value',columnname1='adsf'WHERE…
,no',在WHERE之前,应使用以下语法<代码>更新信息集描述=。。。其中ID_number=。。。和ID_Check=

您的语法中有几个错误

更新查询的正确语法是

UPDATE table SET field1=value1, field2=value2, ...... WHERE keyfield=value
所以你应该写

Dim CommandText As String = _
    "UPDATE IOInformation SET Description = @animalHouse " & 
    "WHERE ID_number = @addrForAssn AND ID_Check = @Id;"
将表名与字段名分开,在第一个字段名之前添加一个集合,并删除WHERE之前的逗号

UPDATE IOInformation
SET Description = @animalHouse
WHERE  ID_number        = @addrForAssn
       AND ID_Check     = @Id

Bjørn Roger Kringsjå&Steve在问题下方的评论中是正确的

尝试将命令文本更改为:
UPDATE IOInformation SET Description=@animalHouse WHERE ID_number=@addrForAssn AND ID_Check=@ID这是查询中的一个简单输入错误。删除前面的逗号,谢谢大家!非常感谢!谢谢谢谢你的帮助!