0

我无法将 DataGridView 中的数据插入 Access 数据库。它显示 INSERT INTO 语句中的语法错误。请帮我。这是我的代码:

Try
    com = New OleDb.OleDbCommand
    com.Connection = con
    Dim atdate As Date
    Dim id As String
    Dim name As String
    Dim time As String
    Dim status As String
    For x As Integer = 0 To ATCGRID.Rows.Count - 1
      atdate = ATCGRID.Rows(x).Cells(2).Value
      id = ATCGRID.Rows(x).Cells(0).Value
      Name = ATCGRID.Rows(x).Cells(1).Value
      time = ATCGRID.Rows(x).Cells(3).Value
      status = ATCGRID.Rows(x).Cells(4).Value
      con.Open()
      str1 = "INSERT INTO EMP_ATTENDANCE(DATE,EMP_ID,EMP_NAME,EMP_TIME,EMP_STATUS)values(@DATE,@EMP_ID,@EMP_NAME,@EMP_TIME,@EMP_STATUS)"
      Dim com As New OleDb.OleDbCommand(str1, con)
      com.Parameters.AddWithValue("@DATE", atdate)
      com.Parameters.AddWithValue("@EMP_ID", id)
      com.Parameters.AddWithValue("@EMP_NAME", Name)
      com.Parameters.AddWithValue("@EMP_TIME", time)
      com.Parameters.AddWithValue("@EMP_STATUS", status)
      com.ExecuteNonQuery()
      com.Dispose()
    Next 
    con.Close()
    MessageBox.Show("Registered Successfully!", "Register", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As OleDb.OleDbException
     MsgBox(ex.Message, MsgBoxStyle.Critical, "Oledb Error")
Catch ex As Exception
    MsgBox(ex.Message, MsgBoxStyle.Critical, "General Error")
End Try
4

1 回答 1

0

“日期”很可能是一个关键字。尝试将它放在括号中:[DATE]在您的 SQL 文本中。

于 2012-10-08T13:55:05.407 回答