ทีนี้ปัญหาของผมคือ ที่หน้า Design ของผม เป็น textbox คอยรับค่าจาก User และผมต้องการให้ User กรอกข้อมูลเสร็จแล้ว กดปุ่มๆนึง แล้วค่าที่ User กรอกใน textbox ทั้งหมด ถูกส่งไปยัง ฟิลต่างๆตามตารางข้างต้นอ่ะครับ โดยโค้ดที่ผมลองมีดังนี้ครับ
Code (VB.NET)
Private Sub btnPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrint.Click
Dim constr As String
constr = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;"
constr += "Password="""";Data Source=C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\Invoice\Invoice\DataTable.mdb"
Dim myCon As New OleDbConnection(constr)
If txtInvNo.Text <> "" And txtCode.Text <> "" And txtUnit.Text <> "" And txtValue.Text <> "" And txtPrice.Text <> "" Then
Dim cd As String = "SELECT * FROM InvoiceTable"
Dim upd As String = "INSERT INTO InvoiceTable (INVOICENUMBER, ID, DAY, TIME, UNIT, TOTALUNIT, PRICE)" & _
"Values('" & txtInvNo.Text & "'," & _
"'" & txtCode.Text & "'," & _
"'" & lblDate.Text & "'," & _
"'" & lblTime.Text & "'," & _
"'" & txtUnit.Text & " '," & _
"'" & txtValue.Text & "'," & _
"'" & txtPrice.Text & "')"
Dim cm As New OleDbCommand(upd, myCon)
myCon.Open()
cm.ExecuteNonQuery() '<<<บรรทัดนี้ครับ
MessageBox.Show("บันทึกข้อมูลเรียบร้อยแล้วครับ", " my", MessageBoxButtons.OK, MessageBoxIcon.Information)
myCon.Close()
Else
MsgBox("กรุณากรอกข้อมูลให้ครบค่ะ", MsgBoxStyle.Information, "Information")
End If
End Sub
ปัญหาที่พบอีกแล้วคือ cm.ExecuteNonQuery() '<<<บรรทัดนี้ครับ
มันฟ้องว่า OleDbException was unhandled
Syntax error in INSERT INTO statement. ครับ
รบกวนด้วยครับ