 |
|
ช่วยหน่อยครับ เพิ่ม แก้ไข และ ลบข้อมูลไม่ได้ ผมใช้ VB 2008 เขียนโปรแกรม แล้วใช้ access เป็นฐานข้อมูล |
|
 |
|
|
 |
 |
|
คือผมเขียนโปรแกรมโดยใช้ VB แล้วเกิด error ตามรูป

ตรงที่เปลี่ยนเป็นสีเหลือง คือจุดที่ว่าน่าจะผิดอะครับ
Code (VB.NET)
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
If DataGridView1.RowCount = 0 Then
MsgBox("No data to Edit", MsgBoxStyle.Critical, "Err")
Exit Sub
End If
If Trim(TextBox1.Text) <> "" And (Trim(TextBox5.Text) <> "" Or Trim(TextBox6.Text) <> "") Then
Try
cmd.Connection.Close()
cmd.CommandText = "UPDATE Product SET [PID] = '" & TextBox1.Text & "',[ชื่อสินค้า] = '" & TextBox5.Text & "',[จำนวน] = '" & TextBox6.Text & "',[ราคาต้นทุน] = '" & TextBox2.Text & "',[ราคาขาย] = '" & TextBox3.Text & "',[หน่วย] = '" & TextBox4.Text & ""
cmd.Connection.Open()
[color=yellow] cmd.ExecuteNonQuery()
Call FillDGV()
afftersave()
MsgBox("data has been modified successfully", MsgBoxStyle.Information + MsgBoxStyle.MsgBoxRight, "cancle")
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Else
MsgBox("Please enter correct data", MsgBoxStyle.Critical, "Err")
Exit Sub
End If
End Sub
ยังไงรบกวนผู้รู้ตอบทีครับ ขอบคุณครับ
Tag : Ms Access
|
|
 |
 |
 |
 |
Date :
2013-06-14 21:10:43 |
By :
az080620 |
View :
1206 |
Reply :
14 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองแก้แล้วนะครับแต่มันก็ยัง error เหมือนเดิมครับ
|
 |
 |
 |
 |
Date :
2013-06-15 12:26:01 |
By :
az080620 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ใส่ ( ' ) ก็ยัง Error แบบเดิมหรอครับ
|
 |
 |
 |
 |
Date :
2013-06-15 18:35:25 |
By :
01000010 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ใช่ครับมันขึ้นแบบในรูปตัวอย่างอะครับ
|
 |
 |
 |
 |
Date :
2013-06-15 21:20:31 |
By :
az080620 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
PID เป็น Primary Key รึเปล่า
ปกติ UPDATE Query ต้องมีเงื่อนไข WHERE ประกอบด้วยนะ เพราะต้องการแก้ไขเฉพาะรายการที่ต้องการเท่านั้น
|
 |
 |
 |
 |
Date :
2013-06-15 21:26:33 |
By :
watcharop |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ใช่ครับ เป็น PK แล้วมันต้องแก้ไงหรอครับงงอะครับ
|
 |
 |
 |
 |
Date :
2013-06-15 21:33:16 |
By :
az080620 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
กรณี PID มีชนิดข้อมูลเป็น Text
cmd.CommandText = "UPDATE Product SET [ชื่อสินค้า] = '" & TextBox5.Text & "',[จำนวน] = '" & TextBox6.Text & "',[ราคาต้นทุน] = '" & TextBox2.Text & "',[ราคาขาย] = '" & TextBox3.Text & "',[หน่วย] = '" & TextBox4.Text & "' WHERE PID='" TextBox1.Text & "'"
TextBox1 ซึ่งเป็น Primary Key ไม่ควรถูกแก้ไขด้วย User
|
 |
 |
 |
 |
Date :
2013-06-15 21:43:39 |
By :
watcharop |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณครับ
|
 |
 |
 |
 |
Date :
2013-06-15 22:03:40 |
By :
az080620 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ช่วยอีกนิดนะครับ รอบนี้เพิ่มไม่ได้อะครับ ลองแก้แบบข้างบนแล้วไม่ได้อะครับ
Code (VB.NET)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Trim(TextBox1.Text) <> "" And (Trim(TextBox5.Text) <> "" Or Trim(TextBox6.Text) <> "") Then
Try
cmd.Connection.Close()
cmd.CommandText = "Insert Into product([PID],[ชื่อสินค้า],[จำนวน],[ราคาต้นทุน],[ราคาขาย],[หน่วย]) Values('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" & TextBox6.Text & "')"
cmd.Connection.Open()
cmd.ExecuteNonQuery()
Me.Close()
MsgBox("The data was saved successfully", MsgBoxStyle.Information + MsgBoxStyle.MsgBoxRight, "Saving Is Completed")
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Else
MsgBox("Please Enter data", MsgBoxStyle.Critical, "Err")
Exit Sub
End If
End Sub
|
 |
 |
 |
 |
Date :
2013-06-15 22:16:53 |
By :
az080620 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
UPDATE ได้หรือยังครับ
ตัวนี้ลองเช็คดูว่าTextbox1 ที่ผู้ใช้กรอกเข้าไป มันไปเป็นค่าซ้ำกับฟิล PID ในตารางไหมครับ
แต่ส่วนใหญ่ Primary key ไม่ควรให้ผู้ใช้มากรอกใส่เองนะครับ ควรเป็นแบบ Identity ให้มัน autonumber
แต่ในเบื้องต้นลองเช็คดูก่อนครับ ว่าปัญหามันเกิดจากอะไรที่ Insert ไม่ผ่าน
|
ประวัติการแก้ไข 2013-06-16 11:46:51
 |
 |
 |
 |
Date :
2013-06-16 11:46:28 |
By :
01000010 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณครับผมลองเช็กดูละเป็นอย่างที่คุณ 0100 0010 บอกจริงๆ
|
 |
 |
 |
 |
Date :
2013-06-16 12:04:49 |
By :
az080620 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ช่วยอีกทีเถอะครับผมเพิ่มไม่ได้อะครับไม่รู้ว่าเป็นอะไรลองแก้แบบครั้งที่แล้วก็แก้ไม่ได้อะครับ
Code (VB.NET)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Trim(TextBox1.Text) <> "" And (Trim(TextBox5.Text) <> "" Or Trim(TextBox4.Text) <> "") Then
Try
cmd.Connection.Close()
cmd.CommandText = "Insert Product SET [ชื่อสินค้า]='" & TextBox1.Text & "',[จำนวน]='" & TextBox2.Text & "',[ราคาต้นทุน]='" & TextBox3.Text & "',[ราคาขาย]='" & TextBox4.Text & "',[หน่วย]='" & TextBox5.Text & "' "
cmd.Connection.Open()
cmd.ExecuteNonQuery()
Me.Close()
MsgBox("The data was saved successfully", MsgBoxStyle.Information + MsgBoxStyle.MsgBoxRight, "Saving Is Completed")
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Else
MsgBox("Please Enter data", MsgBoxStyle.Critical, "Err")
Exit Sub
End If
End Sub
|
 |
 |
 |
 |
Date :
2013-06-16 22:54:58 |
By :
az080620 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองไปศึกษาคิวรี่การ Insert ดูในเว็บ http://www.w3schools.com/sql/sql_insert.asp นะครับ
ใบ้ๆให้นิดนึง syntax มันประมาณว่า Insert Into [Table_name]( [Field1,Field2...] ) VALUES ( [Field1,Field2...] );
Table_name = ชื่อตาราง
Field1,Field2... = ฟิล1 ฟิล2 และฟิลต่อๆไป
วงเล็บหลัง VALUES คือ ค่าของแต่ละฟิลนะครับ
แต่ทางที่ดี ผมแนะนำให้ไปศึกษา Syntax ใหม่ก่อนดีกว่าครับ
|
ประวัติการแก้ไข 2013-06-16 23:45:20
 |
 |
 |
 |
Date :
2013-06-16 23:44:21 |
By :
01000010 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองแล้วครับแต่มันไม่ได้อะครับ ลองเปลี่ยนชื่อ field เป็นภาษาอังกฤษแล้วก็ยังไม่ได้ครับ
Code (VB.NET)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Trim(TextBox1.Text) <> "" And (Trim(TextBox5.Text) <> "" Or Trim(TextBox4.Text) <> "") Then
Try
cmd.Connection.Close()
cmd.CommandText = "Insert Into Product([ProductName],[Amount],[Costprice],[Sellingprice],[Unit])Values('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "') "
cmd.Connection.Open()
cmd.ExecuteNonQuery()
Me.Close()
MsgBox("The data was saved successfully", MsgBoxStyle.Information + MsgBoxStyle.MsgBoxRight, "Saving Is Completed")
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Else
MsgBox("Please Enter data", MsgBoxStyle.Critical, "Err")
Exit Sub
End If
End Sub
|
 |
 |
 |
 |
Date :
2013-06-17 09:43:16 |
By :
az080620 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|