◀ Previous Next ▶ Up ▲


witpoko.com


Access สร้างปัญหาอีกแล้ว

กำลังจะ enjoy
จนมุมอีกแล้ว
คือตอนสร้าง DB มีบางตารางผมใช้ PK ด้วยค่า autonumber แล้วทีนี้ตอนมาเขียนโปรแกรมต่อ
เวลาจะ insert ก็ต้องเลือก OldDBType.ชนิด ใช่ปะครับ
อยากรู้ว่า ไอ้ autonumber มันมีType เป็นอะไรครับ
1.ลองไปเปิดดูในaccess มันบอกType เป็น Long Integer แต่ว่า เวลาพิมพ์ OldDBType.ชนิด มันไม่มีแบบ long interger ให้เลือก
2.ลองเลือก OleDBType.Integer แล้วมันผมเซ็ตตัวแปรยังงี้นะ
.Add(myID.Value = Convert.ToInt32(txtID.Text);
มัน Error ประมาณว่า Object OleDBType ไม่สนับสนุน Type interger (เท่าที่แปรได้นะ) แสดงว่ามันไม่ใช่ autonumber ไม่ใช่ Type interger ใช่ปะคับ
2. ผมลองเปลี่ยนมาใช้ OleDbType.number แล้ว Convert.ToInt32(txtID.Text); เหมือนกัน(มันไม่มี Convert.ToNumber) มันก็ขึ้น Error เหมือน กันเลย

สรุปว่าถ้าเราให้ฟิลด์ในDB เป็น auto number
จะต้อง set parameter เป็น OleDBType.ชนิดไหนคับ

ถ้าทำไม่ได้ผมคงต้องลบความสัมพันธ์ตาราง แล้วเปลี่ยนมาใช้PKเป็นText ละมั้ง จะได้ใช้ OleDBType.VarChar แทน
ไม่อยากทำเลย มานั่งแก้ทีละตัว
เศร้า
ตอบทีนะครับ

ปล. access ลูกเมียน้อยหรือเปล่านี้ ทำไม SqlDBType ยังมี Type ให้เลือกครบทุกชนิดเลยง่า


จากคุณ : แมวใหญ่ -[ 25 ก.ค. 51 - 19:49:04 A:202.91.19.192 X: ]





กระทู้ยอดนิยม