ID ชนิด Autonumber(ไม่ได้สร้างไว้ในvb)
ID_Product ชนิด Number (ได้สร้างกล่องคำสั่งผสมไว้โดยมีทั้งตัวเลขและข้อความคือ 10 ส้ม 11ฝรั่ง)
out_num ชนิด Number
out_student ชนิด Text
out_store ชนิด Text
out_date ชนิด Date/Time
Code (VB.NET)
Private Sub RefreshData()
If Not con.State = ConnectionState.Open Then
'open connection
con.Open()
End If
Dim da As New OleDbDataAdapter("SELECT semet as [ID_Product], " & _
"txtnum as [out_num], txtna1 as [out_student], txtna2 as [out_store]," & _
"txtdate as [out_date]" &
"FROM tb_Out_Product ORDER BY semat ", con)
Dim dt As New DataTable
'fill data to datatable
da.Fill(dt)
'offer data in data table into datagridview
Me.DataGridView1.DataSource = dt
'close connection
con.Close()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles add.Click
Dim cmd As New OleDbCommand
If Not con.State = ConnectionState.Open Then
'open connection
con.Open()
End If
cmd.Connection = con
If semat.SelectedItem = "" Then
MessageBox.Show("กรุณาเลือกสินค้า")
Me.semat.Focus()
Exit Sub
End If
If txtnum.Text = "" Then
MessageBox.Show("กรุณากรอกจำนวน")
Me.txtnum.Focus()
Exit Sub
End If
If txtna1.Text = "" Then
MessageBox.Show("กรุณากรอกชือ")
Me.txtna1.Focus()
Exit Sub
End If
If txtna2.Text = "" Then
MessageBox.Show("กรุณากรอกชื่อ")
Me.txtna2.Focus()
Exit Sub
End If
If txtdate.Value.ToShortDateString = "" Then
MessageBox.Show("กรุณาเลือกวัน")
Me.txtdate.Focus()
Exit Sub
End If
'check whether add new or update
If Me.semat.Tag Then
'add new
'add data to table
cmd.CommandText = " INSERT INTO tb_Out_Product(ID_Product, out_num, out_student, out_store, out_date)" & _
" VALUES ('" & Me.semat.Text & "','" & Me.txtnum.Text & "','" & _
Me.txtna1.Text & "','" & Me.txtna2.Text & "','" & _
Me.txtdate.Text & "')"
cmd.CommandType = CommandType.Text
cmd.ExecuteNonQuery()
Else
'update data in table
cmd.CommandText = "Update tb_Out_Product SET " & _
" ID_Product= '" & Me.semat.SelectedItem & "' " & _
" ,out_num= '" & Me.txtnum.Text & "' " & _
" ,out_student= '" & Me.txtna1.Text & "' " & _
" ,out_store= '" & Me.txtna2.Text & "' " & _
" ,out_date1= '" & Me.txtdate.Value.ToShortDateString & "' " & _
" WHERE ID_Product= '" & Me.semat.Tag & "' "
cmd.ExecuteNonQuery()
End If
'refresh data in list
RefreshData()
'close connection
con.Close()
End Sub
แล้วอะไรคือที่มันใช้ได้ล่ะ
ที่คุณบอกตอนนั้นมันerror ว่า syntax error in UPDATE statement
เพราะในฐานข้อมูลเป็นแบบนี้
ID ชนิด Autonumber(ไม่ได้สร้างไว้ในvb)
ID_Product ชนิด Number (ได้สร้างกล่องคำสั่งผสมไว้โดยมีทั้งตัวเลขและข้อความคือ 10 ส้ม 11ฝรั่ง)
out_num ชนิด Number
out_student ชนิด Text
out_store ชนิด Text
out_date ชนิด Date/Time
โค้ดที่ใช้ล่าสุด
ที่คุณTCmin ให้เอา ' ' ออก
ก็ยังขึ้นว่า no value given for one or more required parameters อยู่ดี