none
vb.net保存数据在两个table问题 RRS feed

  • 问题

  • Private Sub ToolStripButton8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton8.Click

            Dim objCon As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\INVILL.accdb;")

            Dim objComm As New OleDbCommand()

     objComm.CommandText = "INSERT INTO Employee(EMP_NAME,EMP_POSITION)" & _

                " VALUES('" & Trim(TextBox11.Text) & "','" & Trim(TextBox12.Text) & "')"

             

     

                objComm.Connection = objCon

     

                Try

                    objCon.Open()

                    objComm.ExecuteNonQuery

                Catch ex As Exception

                    MsgBox(ex.Message)

                Finally

     

                    objComm = Nothing

                    objCon.Close()

                    objCon = Nothing

     

                End Try

            Call login()

     

        End Sub

     

        Private Sub login()

            Dim objCon As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\INVILL.accdb;")

            Dim objComm As New OleDbCommand()

     

     

            objComm.CommandText = "INSERT INTO Login(Position,Username)" & _

      " VALUES('" & Trim(TextBox8.Text) & "','" & Trim(TextBox7.Text) & "')"

     

     

            MsgBox("Adding data successfull.", MsgBoxStyle.Information, "Add Employee Data")

            objComm.Connection = objCon

     

            Try

                objCon.Open()

                objComm.ExecuteNonQuery()

     

            Catch ex As Exception

                MsgBox(ex.Message)

            Finally

     

                objComm = Nothing

                objCon.Close()

                objCon = Nothing

     

            End Try

     

    End Sub

     

    为什么当我要保存用户的UsernamePositionLogin table,却出现错误“Syntax error in INSERT INTO stament”?当我只是保存Username时,就没有出现问题。是什么原因?保存在Employeetable没有任何问题,问题只出现在Login table

    2010年9月30日 6:49

答案

  • 你好

    這是可能Position 這個字 在ACCESS 中有特別的意思

    所以如果你把你的CODE改變 成以下 句子 用 [Position] 便可

    E.G.

    objComm.CommandText = "INSERT INTO Login([Position] ,Username)" & _

      " VALUES('" & Trim(TextBox8.Text) & "','" & Trim(TextBox7.Text) & "')"

    Please correct me if my concept is wrong


    Chi
    • 已标记为答案 ckjason 2010年10月2日 6:38
    2010年9月30日 21:18
    版主

全部回复

  • 报什么错?

    Position的数据类型?

     


    http://feiyun0112.cnblogs.com/
    2010年9月30日 7:08
    版主
  • 你好

    我應同feiyun0112MVP, 版主 所說的
    你的Position 是什麼数据类型, 看看是不是類型出現問題

    或者你可以嘗試用以下的CODE

    dim sql as string

    sql = "INSERT INTO Login(Position,Username)" & _

      " VALUES('" & Trim(TextBox8.Text) & "','" & Trim(TextBox7.Text) & "')"

    之後用MSGBOX(sql)

    看看會不會是你的SQL 句子有問題 E.G. 可不可以POST 這個 OUTPUT 上來變我們參考一下

    Please correct me if my concept is wrong


    Chi
    2010年9月30日 7:31
    版主
  • 你好

    我應同feiyun0112MVP, 版主 所說的
    你的Position 是什麼数据类型, 看看是不是類型出現問題

    或者你可以嘗試用以下的CODE

    dim sql as string

    sql = "INSERT INTO Login(Position,Username)" & _

      " VALUES('" & Trim(TextBox8.Text) & "','" & Trim(TextBox7.Text) & "')"

    之後用MSGBOX(sql)

    看看會不會是你的SQL 句子有問題 E.G. 可不可以POST 這個 OUTPUT 上來變我們參考一下

    Please correct me if my concept is wrong


    Chi

    http://img834.imageshack.us/f/untitd.png/

    http://img339.imageshack.us/f/unt1itd.png/

    position的数据类型是文字。。我已经上传图片,如果看不清楚,请按图片放大来看,请版主帮我检查,我实在看不到有什么错。

    2010年9月30日 9:49
  • 你好

    這是可能Position 這個字 在ACCESS 中有特別的意思

    所以如果你把你的CODE改變 成以下 句子 用 [Position] 便可

    E.G.

    objComm.CommandText = "INSERT INTO Login([Position] ,Username)" & _

      " VALUES('" & Trim(TextBox8.Text) & "','" & Trim(TextBox7.Text) & "')"

    Please correct me if my concept is wrong


    Chi
    • 已标记为答案 ckjason 2010年10月2日 6:38
    2010年9月30日 21:18
    版主