วันจันทร์ที่ 12 พฤษภาคม พ.ศ. 2551

ข้อมูลประเภทวันที่กับฐานข้อมูล (DateTime DataType width Database)

สืบเนื่องมาจากวันนี้นั่งเขียนเกี่ยวกับใส่ข้อมูลลง Database แรก ๆ ก็ไม่มีปัญหาอะไร พอใช้ MS Access นี่สิ อยู่ ๆ ก็ฟ้องมาว่า "Data type mismatch" มันอารายกันวุ้ย ก็ไปปรึกษากะนายกูเกิ้ล อีกตามเคย ได้ความว่า
ตัว Provider ที่ใช้กับเจ้า Access เนี่ย มันมีปัญหากับพวกข้อมูลประเภทวันที่ ที่มี milliseconds น่ะสิ
แล้วจะแก้ไงอ่ะหรอ ง่ายมาก ก็ทำให้มันเป็นข้อมูล DateTime แบบไม่มี milliseconds อ่ะจิ
ตามนี้เลยคร้าบ

DateTime value = DateTime.Now;
value = new DateTime( value.Year, value.Month, value.Day, value.Hour, value.Minute, value.Second )

แค่นี้ ก็ไม่มี milliseconds ละ เวลาใช้กับฐานข้อมูล Access ก็ม่ายมี "Data type mismatch" ละ
แต่ถ้าจะเอารายละเอียดเรื่องเวลา ( มี milliseconds ด้วย ) ก็ใช้ Database อื่นละกันคร้าบ

ไม่มีความคิดเห็น: