A-AA+then

อยากทราบวิธีการแก้ไขปัญหา Date time ของ SQL ครับ

3,400

set datatype = datetime
ปกติ insert datetime format 'dd/mm/yyyy' ตัวอย่าง '19/12/2552' ค่าทีลง db คือ 19/12/2552
ปัจจุบันพบปัญหาคือ insert ไปกลับกลายเป็นรูปแบบ 'mm/dd/yyyy' (ค่า พ.ศ.ก็ถูก+543) ตัวอย่าง '11/12/2552'  ค่าทีลง db คือ 12/11/3095 แต่ไม่ได้มีการแก้ไข code ของโปรแกรมไม่ทราบว่าปัญหานี้เกิดจากอะไร วานผู้รู้ช่วยแนะนำด้วยครับ

(คือปัญหานี้มีรูปแบบ error code ขึ้นมาแบบนี้ครับ)

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC SQL Server Driver][SQL Server]The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.

?, line 0


ขอบคุณครับ

5 ความคิดเห็น

ปัญหานี้มันอยู่ที่ ฟอร์แมต วันที่ของ Server ครับ

ถ้าเป็นไปได้ ให้แก้ไขรูปแบบวันที่ของ Server ให้เป็นไปตามต้องการครับ น่าจะง่ายกว่า การแก้ไขโค้ด แต่วิธีนี้จะทำได้ในกรณีที่ Server เป็นของตัวเองเท่านั้นครับ

แต่หากเป็น Server เช่า ก็คงต้องแก้ไขรูปแบบวันที่ ที่โค้ดเอาเองแหละครับ ซึ่งอาจลำบากกว่า อีตรงที่ต้องแก้ไขหลายที่ครับ
1

แล้วที่แก้ตรง server ไม่ทราบว่าจะแก้ตรงไหนครับ

แก้ที่ตัว window หรือที่ตัว Format

ขอบคุณ คุณ g0ragod อีกครั้งครับ

ผมติดส่วนนี้มาประมาณอาทิตย์กว่าแล้วครับ

ปล.แล้วสมมุติถ้ามันยังไม่ใช่ไม่ทราบว่า จะมีโอกาสเกิดจากอะไรได้อีกหรอครับ ขอบคุณครับ
2

ไม่รู้ว่าใช้ Server อะไรครับ

การแก้ไข อาจต้องแก้ไขที่ Windows ครับ ลองตรวจสอบฟอรืแมตวันที่ของ Windows ว่าถูกต้องหรือไม่ครับ

ถ้าแก้ไขที่ Windows แล้วยังไม่ได้ ก็อาจต้องลองแก้ไขที่ Server ครับ

หรือบางทีอาจต้องแก้ไขที่ database Server ครับ

สำหรับรายละเอียดวิธีแก้ไขว่าต้องแก้ไขที่รายการไหนบ้าง ผมไม่ค่อยแม่นนัก เลยไม่กล้าตอบแบบฟันธงครับ ว่าต้องแก้ไขที่รายการใด
3

ในการแก้ที่ windows แก้ในส่วนไหนครับคือผมอยากให้อยู่ในรูปแบบ 'dd/mm/yyyy' ครับ

ขอบคุณมากครับ
4

อ้างจากคำตอบที่ #4ในการแก้ที่ windows แก้ในส่วนไหนครับคือผมอยากให้อยู่ในรูปแบบ 'dd/mm/yyyy' ครับ

ลองดู ตัวเลือก "ภูมิภาคและภาษา" ใน Control Panel ครับ
5
^