怎么回事,总是提示错误呢?源码如下:
Private Sub Submit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Submit.Click
        Dim conn As New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data Source=" & Server.MapPath("db/gdsfs4545.mdb"))
        conn.Open()
        Dim comm As New OleDbDataAdapter("Select id from admin where username='" & Username.Text & "'and password='" & Password.Text & "'", conn)
        Dim comm2 As New OleDbCommand("Update admin Set password='" & Password.Text.ToString & "'", conn)
        Dim ds As New DataSet
        comm.Fill(ds, "userinfo")
        If ds.Tables("userinfo").Rows.Count = 0 Then
            Label1.Text = "您的用户名和密码不符,请重试!"
        Else
            comm2.ExecuteNonQuery()
            Label1.Text = "密码修改成功!"
        End If
异常详细信息: System.Data.OleDb.OleDbException: UPDATE 语句的语法错误。

解决方案 »

  1.   

    Password.Text.ToString中是不是包含了 'or "符号,这样的话会阻断sql语句导致语法错误,如果是这样,你得用parameter去传递password的值
      

  2.   

    password='" & Password.Text 换成[password]='" & Password.Text
      

  3.   

    把语句PRINT出来,在ACCESS的查询SQL里执行下,ACCESS会告诉你哪里错了
      

  4.   

    [password]中的[]是什么意思啊?
    为什么要这样做呢
      

  5.   

    [password]写法是指password是自己声明的字段,不是关键字,避免和关键字冲突。
      

  6.   

    另为你的"Update admin Set password='" & Password.Text.ToString & "'"是更新表中的所有字段值为Password.Text.ToString 的值,你要注意
      

  7.   

    另为你的"Update admin Set password='" & Password.Text.ToString & "'"是更新表中的所有Password字段值为Password.Text.ToString 的值,你要注意
      

  8.   

    我按楼上的 yufeng777(yufeng) 说的做了,倒是不提示出错了,但是内容却没有更新,不知道还有什么问题
      

  9.   

    改为Dim comm2 As New OleDbCommand("Update admin Set password='testing'", conn)
    看看数据有没有更新然后改为
    Dim comm2 As New OleDbCommand("Update admin Set [password]='testing'", conn)再看看
      

  10.   

    QZB0818呵呵呵,password不行[password]却可以但是,为什么不能把password.text的传更新的数据库里呢/?
      

  11.   

    你的password.text传的参数可能有'或",所以你最好用parameter并用where指定改那一行的密码Dim comm2 As New OleDbCommand("Update admin Set [password]=@password
    where id=@id", conn)
    comm.parameters.add("@password",password.text.tostring)
    comm.parameters.add("@id",你要改密码的那一行的id值)comm2.ExecuteNonQuery()
    conn.close()
      

  12.   

    Password是关键字啊,大哥,改成[Password]