เกี่ยวกับ format วันที่ เพื่อบันทึกค่าลง DB โดยใช้ Parameters.AddWithValue ค่ะ
Code (VB.NET)
Dim RSDay As Date
Dim ExpDay As Date
sqlAdd = "INSERT INTO Info_All(Reserve_No,Store_ID,Rent_No,Store_Name,Reserve_Format,Reserve_Category,Store_Size,Rent_Cash,Reserve_Day,Expire_Day)" & _
" VALUES(@Reserve_No,@Store_ID,@Rent_No,@Store_Name,@Reserve_Format,@Reserve_Category,@Store_Size,@Rent_Cash,@Reserve_Day,@Expire_Day)"
cmd = New System.Data.SqlClient.SqlCommand(strAdd, connection)
With cmd
.Parameters.AddWithValue("@Reserve_No", txtRS1_No.Text)
.Parameters.AddWithValue("@Store_ID", txtStoreID.Text)
.Parameters.AddWithValue("@Rent_No", txtRentNo.Text)
.Parameters.AddWithValue("@Store_Name", txtNameStore.Text)
.Parameters.AddWithValue("@Reserve_Format", rdb1.Text)
.Parameters.AddWithValue("@Reserve_Category", rdb5.Text)
.Parameters.AddWithValue("@Store_Size", txtStore_Size.Text)
.Parameters.AddWithValue("@Rent_Cash", txtCash.Text)
.Parameters.AddWithValue("@Reserve_Day", RSDay.Date)
.Parameters.AddWithValue("@Expire_Day", ExpDay.Date)
.CommandType = CommandType.Text
.CommandText = sqlAdd
.Connection = connection
.ExecuteNonQuery()
End With
จาก code ด้านบน ในส่วนของ RSDay.Date กับ ExpDay.Date เวลาบันทึกลง DB แล้วมันเป็น 16/01/2555 0:00:00
คืออยากได้แค่ 16/01/2555 ค่ะ เอา 0:00:00 ออกไป ต้องทำยังไงหรอคะ ทำมาหลายวิธีแล้ว ไม่ได้ผลเลยค่ะ
ขอคำแนะนำทุกท่านด้วยนะคะ ขอบคุณมากๆเลย : )Tag : .NET, Ms SQL Server 2005, VB.NET
Date :
2012-01-16 20:21:23
By :
nnn2891
View :
1411
Reply :
10
Date Time น่าจะเก็บแบบนั้นถูกแล้วครับ แต่ตอนที่ Query ไปใช้คุณสามารถ Convert บน SQL Server ได้น่ะครับ
Go to : SQL CONVERT
Date :
2012-01-16 20:25:07
By :
webmaster
รูปแบบการเก็บ 16/01/2555 0:00:00 แบบนี้ จะมีผลต่อการใช้งานต่อไปรึป่าวหรอคะ เช่น การนำมาแสดงผลใน textbox , crystal report
แล้วคำสั่ง convert นี้ สามารถใช้ได้ทั้ง textbox หรือ crystal report เลยใช่มั๊ยคะ ?
Date :
2012-01-16 20:29:53
By :
nnn2891
ทำที่ Query ครับ ได้ง่าย ๆ ครับ ไม่มีผลครับ ปกติก็จัดเก็บกันแบบนี้แหละครับ ถ้าเป็น DateTime
Date :
2012-01-16 20:34:39
By :
webmaster
จากตัวอย่าง
CONVERT (GETDATE() , 103)
GETDATE() เป็นการแสดงวันที่ปัจจุบัน แล้วถ้าอยากให้แสดงวันที่ expire หรือ ครบกำหนดในอีก 7 วันข้างหน้า ต้องใช้คำสั่งอะไรหรอคะ
หรือใช้ AddDay(6) ก่อน แล้วค่อยผ่านตัวแปรนำมาใส่ใน sqlAdd อีกทีหรอคะ ?
Date :
2012-01-16 20:41:22
By :
nnn2891
อ่อ เข้าใจแล้วค่ะ เดี๋ยวจะลองทำดูนะคะ ขอบคุณมากๆเลยค่ะ
Date :
2012-01-16 21:33:42
By :
nnn2891
ขอโทษนะคะ ขอรบกวนถามอีกนิดนึงค่ะ คือ ถ้าต้องการจะค้นหาข้อมูลใน DB โดยคำ keyword ที่ใช้ค้นหาเป็นตัวแปรชนิด datetime แล้วข้อมูลที่ค้นหานั้นเก็บเป็น datetime เหมือนกัน อยากขอคำแนะนำหน่อยค่ะว่า จะต้อง query ใน strAdd ใช้คำสั่งconvert แบบไหนคะ
อันข้างล่างนี้เปนการค้นหาแบบทั่วๆไปที่เขียนไว้อะค่ะ keep_Search2 เป็นตัวแปรประกาศไว้เป็น datetime ค่ะ ใช้เก็บ วันที่ ที่ต้องการค้นหาจาก DB
Code (VB.NET)
strAdd = "SELECT * FROM Info_All WHERE Reserve_Day = '" & keep_Search2 & "'"
พอดีจะใช้ convert รูปแบบ dd/mm/yy อันที่เป็น 103 ต้องเขียนประมาณไหนคะ ขอคำแนะนำด้วยค่ะ งงจริงๆ
Date :
2012-01-17 19:37:07
By :
nnn2891
strAdd = "SELECT * FROM Info_All WHERE Reserve_Day = '" & keep_Search2.ToString("MM/dd/yyyy") & "'"
อันนี้ชัวกว่าครับ
Date :
2012-01-17 21:17:18
By :
anucham
ตอนที่ค้นหาข้อมูลลองพิมพ์ 17/01/2555 ดู แล้วมัน error ตามภาพข้างล่างค่ะ ทำยังไงดีคะ ?
Date :
2012-01-17 22:00:39
By :
nnn2891
แก้ได้แล้วค่ะ ลองดูจากกระทู้ http://www.thaicreate.com/dotnet/forum/059160.html ใช้คำสั่ง convert ค่ะ
แก้เป็น
Code (VB.NET)
If Form7.cboSub.SelectedItem = "วันที่จองร้านค้า" Then
Dim date1 As DateTime = DateTime.ParseExact(keep_Search, "dd/MM/yyyy", New System.Globalization.CultureInfo("th-TH"))
strAdd = "SELECT * FROM Info_All WHERE Reserve_Day = convert(datetime, '" + String.Format("{0}/{1}/{2}", date1.Month, date1.Day, date1.Year) + "', 101)"
ElseIf Form7.cboSub.SelectedItem = "วันที่ครบกำหนด" Then
Dim date1 As DateTime = DateTime.ParseExact(keep_Search, "dd/MM/yyyy", New System.Globalization.CultureInfo("th-TH"))
strAdd = "SELECT * FROM Info_All WHERE Expire_Day = convert(datetime, '" + String.Format("{0}/{1}/{2}", date1.Month, date1.Day, date1.Year) + "', 101)"
End If
ขอบคุณทุกท่านมากนะคะ สำหรับคำแนะนำและความช่วยเหลือค่ะ : )
Date :
2012-01-18 17:26:51
By :
nnn2891
Load balance : Server 01