ขอรบกวนผู้รู้หน่อยครับ การบันทึกข้อมูลที่เป็นDateTime ลงไปในฐานข้อมูลจะต้องทำยังไงแล้ว แบบภาพจะแก้คำสั่งยังไงครับ
ปกติแล้ว ถ้าจะให้ถูกต้องจะต้องใช้รูปแบบ Parameters Query (ค้นหาได้ในบทความ)
หรือถ้าจะ Insert เหมือนในรูป อาจจะต้องใช้ Format แบบ dd-MMM-yyyy (17-Oct-2018) เพราะโปรแกรมจะสามารถเข้าใจและแปลงได้ถูกต้องครับ
Date :
2018-10-17 15:04:04
By :
mr.win
ตามที่ผมตอบครับ มันงงกับ Format
Date :
2018-10-17 18:01:41
By :
mr.win
เราอย่ามาไล่จากโค้ดไปหา data แต่ให้ไล่จาก data มาหาโค้ด
ไปดูว่า data type format แบบไหน ก็ทำตามนั้น ครับ
ถ้าไม่อยากงง ก็ให้ใช้ data type เป็น string/text/varchar
Date :
2018-10-18 09:17:48
By :
lamaka.tor
format มันเป็น type datetime น่ะ ถูกต้องแล้ว เพียงแต่เวลา เอาใส่ข้อมูล ก็ generate sql statement ให้มันถูกต้อง
ปล. อีกอย่าง format date ให้ใช้ เครื่องหมายลบขั้นระกว่า ปี-เดือน-วัน อย่าใช้ slash
ให้ ใช้ format มาตรฐาน จะชัดเจนมากกว่า
ใน database ให้ใช้วันที่ ปี คศ. เวลาแสดงผล ค่อยแปลงเป็น พศ. หรือ อย่างอื่น
ผมทำมาไม่เคยมีปัญหา วันเดือน ไม่ตรง แม้แต่วันทาง จันทรคติ
เขียน โปรแกรม พยายามให้ใช้ locale ของเครื่องที่ใช้งาน เป็นรูปแบบในการนำเข้าข้อมูล
แล้วคุณค่อยแปลง ให้เป็นรูปแบบมาตรฐาน ศึกษา เรื่องรูปแบบ วันที่ ของ system datetime
เพื่อนำมาใช้งานได้อย่างถูกต้อง
ประวัติการแก้ไข 2018-10-18 13:39:42
Date :
2018-10-18 13:28:13
By :
Chaidhanan
ท่าทางจะยาว
แนะนำให้ใช้ datatype เป็น text เลยครับ
Date :
2018-10-18 16:58:29
By :
lamaka.tor
คุณใช้ component อะไรนำเข้า วันที่ เวลา ครับ
https://www.thaicreate.com/community/windows-form-datetimepicker.html
Code (C#)
using System.Globalization;
/////////////////////////////////////////////////////////////////
CultureInfo _En = new CultureInfo("en-US");
DateTime dateEn = Convert.ToDateTime(dateTimePicker1.Value, _En);
string sql = "select * from tablename where testdate = '" + dateEn.ToString("yyyy-MM-dd", _En)+"' ";
CultureInfo _Th = new CultureInfo("th-TH");
DateTime dateTh = Convert.ToDateTime(dateTimePicker1.Value, _Th);
string sql = "select * from tablename where testdate = '" + dateTh.ToString("yyyy-MM-dd", _Th)+"' ";
ประวัติการแก้ไข 2018-10-18 18:40:56 2018-10-18 18:44:29 2018-10-18 18:45:55
Date :
2018-10-18 18:26:16
By :
Chaidhanan
ได้แล้วนะครับขอบคุณทุกคำตอบนะครับ วิธีแปลงได้คือด้านล่างเลยครับ
DateTime daValues = DateTime.Now;
string MyDt = daValues.ToString("yyyy-MM-dd HH:mm:ss");
TextBox3.Text = DateTime.Now.ToString(MyDt);
แล้วนำ TextBox3.text ไป Insert ตามปกติ
ประวัติการแก้ไข 2018-10-19 09:33:04 2018-10-19 09:33:24 2018-10-19 09:34:59
Date :
2018-10-19 09:32:50
By :
wiraphon
Load balance : Server 02