|
|
|
ขอถามเรื่องเกี่ยวการดึงข้อมูลในฐานข้อมูลมาลงใน combobox ค่ะ |
|
|
|
|
|
|
|
คือว่าทำการดึงข้อมูลลงมาใน combobox เรียบร้อยแล้ว ให้มันโชว์เป็นรายละเอียด
แต่เวลาเก็บจะเก็บเป็น รหัส ไม่ทราบว่าต้องทำยังไงค่ะ พอกดบันทึก หรือกดแก้ไขข้อมูลมันก็ขึ้น error ExecuteNonQuery: Connection property has not been initialized.
Code (VB.NET)
con = New OleDbConnection(strcn)
con.Open()
Dim sqladd As String = "insert into register(id_la,id_shop,code_label,wide,lengthy,unit,relate)"
sqladd &= " values ('" & TextBox1.Text & "',"
sqladd &= "'" & TextBox2.Text & "',"
sqladd &= "'" & ComboBox1.Text & "',"
sqladd &= "'" & TextBox3.Text & "',"
sqladd &= "'" & TextBox4.Text & "',"
sqladd &= "'" & TextBox5.Text & "',"
sqladd &= "'" & Label11.Text & "',"
comm = New OleDbCommand
Try
comm.ExecuteNonQuery()
Catch ex As Exception
ComboBox1.Text = ComboBox1.Text & "'"
End Try
comm = Nothing
con.Close()
con = Nothing
MessageBox.Show("บันทึกข้อมูลเรียบร้อยแล้ว", "ยืนยันการบันทึก")
ไม่ทราบว่าเราจะต้องแก้ไขหรือเพิ่มอะไรตรงไหนค่ะ
Tag : .NET, VB.NET
|
|
|
|
|
|
Date :
2012-08-24 12:09:33 |
By :
mmm |
View :
1257 |
Reply :
20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนดึงโค้ดมาใส่ใน Combobox ได้นำรหัสมา Value หรือป่าวค่ะ
อันนี้โค้ดตัวอย่างนะค่ะ
Code (VB.NET)
.DisplayMember = "Des_Status" 'ข้อมูลที่นำมาโชว์
.ValueMember = "ID_Status" 'ข้อมูลที่ใช้จัดเก็บ
หรือไม่ตอน insert into ให้คุณ mmm ลองเปลี่ยนจาก ComboBox1.Text เป็น Combobox1.SelectedValue ดูค่ะ
เพราะถ้า combobox ดึงมาจากฐานข้อมูล ต้องใช้ SelectedValue แทนค่ะ
|
ประวัติการแก้ไข 2012-08-24 13:20:52
|
|
|
|
Date :
2012-08-24 13:19:41 |
By :
sinlukploy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คลิกเลือกเอาก็ได้เช่นกันครับ ง่ายดี
|
|
|
|
|
Date :
2012-08-24 13:35:46 |
By :
billkyz5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าตามที่ ~นู๋ซิน~ ให้เปลี่ยนจาก ComboBox1.Text เป็น Combobox1.SelectedValue
ลองเปลี่ยนแล้วมันไม่ error แล้วค่ะ แต่มันกลับไม่บันทึกลงในฐานข้อมูลเลย
|
|
|
|
|
Date :
2012-08-24 13:40:59 |
By :
mmm |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือว่าฐานข้อมูลดึงมาได้แล้วค่ะ แต่มันบันทึกหรือแก้ไขข้อมูลไม่ได้เลย
|
|
|
|
|
Date :
2012-08-24 13:42:54 |
By :
mmm |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเช็คโค้ด โดยการคลุมดำ เฉพาะโค้ดที่บันทึกนะค่ะ แล้วคลิกขวา > Run To Cursor > ลองบันทึก > โปรแกรมจะกับมาที่หน้าโค้ด ให้กด F8 แล้วไล่ดูโค้ดนะค่ะ ว่าเป็นเพราะอะไร หรือถ้ามี Error ให้ก๊อบ Error มาให้ดูทีค่ะ
|
|
|
|
|
Date :
2012-08-24 13:48:06 |
By :
sinlukploy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองลบ
Code (VB.NET)
ComboBox1.Text = ComboBox1.Text & "'"
แล้วใส่ Code (VB.NET)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error โชว์ข้อมูล")
ไปแทน เพื่อให้โปรแกรมโชว์ Error ที่เกิดขึ้นค่ะ
|
ประวัติการแก้ไข 2012-08-24 13:51:20
|
|
|
|
Date :
2012-08-24 13:50:26 |
By :
sinlukploy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่เข้าใจว่าตรงนี้ที่พื้นหลังมันเป็นสีเทา มันคือสาเหตุที่มันไม่บันทึกลงในฐานข้อมูลหรือป่าว
แต่ก็ไม่มี error นะค่ะ
|
|
|
|
|
Date :
2012-08-24 14:04:35 |
By :
mmm |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ๋อ มันโชว์ error ExecuteNonQuery: Connection property has not been initialized. ค่ะ
|
|
|
|
|
Date :
2012-08-24 14:07:50 |
By :
mmm |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองลบและทำตามด้านบนยังค่ะ
|
|
|
|
|
Date :
2012-08-24 14:09:00 |
By :
sinlukploy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองลบแล้วค่ะ
|
|
|
|
|
Date :
2012-08-24 14:11:35 |
By :
mmm |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ที่บอกว่าไม่บันทึกลงฐานข้อมูลเลยนี่คือ เฉพาะ combobox หรือว่า ทั้งหมดค่ะ
ลองลบแล้ว ยัง error เหมือนเดิมป่ะค่ะ
|
|
|
|
|
Date :
2012-08-24 14:14:08 |
By :
sinlukploy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทั้งหมดค่ะ
|
|
|
|
|
Date :
2012-08-24 14:19:13 |
By :
mmm |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองลบแล้ว error เหมือนเิดิมค่ะ
|
|
|
|
|
Date :
2012-08-24 14:20:32 |
By :
mmm |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
งั้นลองลบ , ออกนะค่ะ
Code (VB.NET) เฉพาะบรรทัดสุดท้ายค่ะ ลบ , ออกระหว่าง "' "
sqladd &= "'" & Label11.Text & "',"
ให้เป็น
Code (VB.NET)
sqladd &= "'" & Label11.Text & "'"
|
ประวัติการแก้ไข 2012-08-24 14:24:41
|
|
|
|
Date :
2012-08-24 14:24:06 |
By :
sinlukploy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
con = New OleDbConnection(strcn)
If con.State = ConnectionState.Open Then con.Close()
con.Open()
Dim sqladd As String = "insert into register(id_la,id_shop,code_label,wide,lengthy,unit,relate)"
sqladd &= " values ('" & TextBox1.Text & "',"
sqladd &= "'" & TextBox2.Text & "',"
sqladd &= "'" & ComboBox1.SelectedValue & ","
sqladd &= "'" & TextBox3.Text & "',"
sqladd &= "'" & TextBox4.Text & "',"
sqladd &= "'" & TextBox5.Text & "',"
sqladd &= "'" & Label11.Text & "'"
comm = New OleDbCommand
Try
comm.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error โชว์ข้อมูล")
End Try
comm = Nothing
con.Close()
con = Nothing
MessageBox.Show("บันทึกข้อมูลเรียบร้อยแล้ว", "ยืนยันการบันทึก")
มันก็ error อันเดิมอยู่ดีค่ะ
|
|
|
|
|
Date :
2012-08-24 14:30:25 |
By :
mmm |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอโทษด้วยนะค่ะ มือใหม่หัดตอบนะค่ะ ^^
เปิดวงเล็บบรรทัดบนไว้
Code (VB.NET)
sqladd &= " values ('" & TextBox1.Text & "',"
แต่ไม่ได้ปิดบรรทัดล่างนะค่ะ ลองปิดดูนะค่ะ
Code (VB.NET)
sqladd &= "'" & Label11.Text & "')"
|
|
|
|
|
Date :
2012-08-24 14:37:26 |
By :
sinlukploy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ได้อยู่ดีค่ะ เอ.....ทำยังไงดีเนี้ย
|
|
|
|
|
Date :
2012-08-24 14:44:07 |
By :
mmm |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|