将数据从DatagridView插入Access Database VB.NET

时间:2012-10-08 13:41:38

标签: vb.net

我无法将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

1 个答案:

答案 0 :(得分:0)

“日期”很可能是关键字。尝试将其放在括号中:{1}}在SQL文本中。