 |
|
ติดปัญหาเรื่อง DateTime ไม่ลง database ช่วยแนะนำทีครับ(มีรูป+คลิป) |
|
 |
|
|
 |
 |
|
เก็บเวลาลง database ไม่ได้ครับผมถ้า datatype เป็น datetime หรือ datetime2
ถ้าเป็น varchar มันจะลงได้ปกติครับ
Code (VB.NET)
Conn.Open()
cmd.Connection = Conn
SqlString = "insert into Checkbill_1(c_orderid,c_namefood,c_foodprice,c_cusname,c_datetime) values(@c_orderid,@c_namefood,@c_foodprice,@c_cusname,@c_datetime)"
cmd = New System.Data.SqlClient.SqlCommand(SqlString, Conn)
For i As Integer = 0 To DataGridView4.RowCount - 1
If Not DataGridView4.Rows(i).IsNewRow Then
With cmd
.Parameters.Add(New SqlParameter("@c_orderid", DataGridView4.Rows(i).Cells(0).Value))
.Parameters.Add(New SqlParameter("@c_namefood", DataGridView4.Rows(i).Cells(1).Value))
.Parameters.Add(New SqlParameter("@c_foodprice", DataGridView4.Rows(i).Cells(2).Value))
.Parameters.Add(New SqlParameter("@c_cusname", DataGridView4.Rows(i).Cells(3).Value))
.Parameters.Add(New SqlParameter("@c_datetime", lbldatetime.Text))
End With
cmd.ExecuteNonQuery()
cmd.Parameters.Clear()
End If
Next
MessageBox.Show("เรียบร้อยเดี๋ยวพนักงานจะมาเก็บเงิน")
Conn.Close()

http://youtu.be/rPA3JIRhtoM
Tag : .NET, Ms SQL Server 2012, Crystal Report, VS 2012 (.NET 4.x)
|
ประวัติการแก้ไข 2013-05-30 13:28:44 2013-05-30 13:31:52 2013-05-30 13:32:23
|
 |
 |
 |
 |
Date :
2013-05-30 13:28:01 |
By :
bigshowbp01 |
View :
1287 |
Reply :
7 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ก่อนอื่นอันนี้บอกก่อนนะครับ ไม่รู้จะได้ไหมแต่ผมว่าได้นะ แต่ผมยังไม่ได้ลอง
ก่อนอื่น ถามก่อนว่า ไอ lblDateTime ที่คุณ Get เวลาปัจจุบันมาหนะครับ Get มาจากไหน
ถ้าเขียนเป็นคำสั่งไว้ เช่น
Code (VB.NET)
lblDateTime.text = Date.Now.ToSting("dd/MM/yyyy hh:mm:ss")
ผมอยากให้คุณลองแบบนี้นะครับ
ไอตรงที่คุณจะ add เวลาเข้า Database แทนที่จะใช้ lblDateTime
ลองใช้ คำสั่งที่คุณใช้ดึงเวลาปัจจุบันมา add ลงดูครับ
เช่น
Code (VB.NET)
.Parameters.Add(New SqlParameter("@c_datetime", Date.Now.ToSting("dd/MM/yyyy hh:mm:ss")))
แบบนี้นะครับ
|
 |
 |
 |
 |
Date :
2013-05-30 14:04:45 |
By :
CPU4Core |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอนแรกผมใช้
Code (VB.NET)
lbldatetime.Text = Now.ToString(New CultureInfo("en-GB"))
โดย Get เวลาปัจจุบันมา มาไว้ที่ lbldatetime.Text อะครับ
ตอนนี้เปลี่ยนมาตามที่ท่านบอกแล้ว ออเร่อแบบนี้ครับ
Code (VB.NET)
lbldatetime.Text = Date.Now.ToString("dd/MM/yyyy hh:mm:ss")

|
ประวัติการแก้ไข 2013-05-30 14:34:06
 |
 |
 |
 |
Date :
2013-05-30 14:33:20 |
By :
bigshowbp01 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คือจริง ๆ แล้วใช้โค๊ดเดิมก็ได้นะครับ พวกคำสั่งดึงเวลาปัจจุบัน แต่โค๊ดนั้นผมยกตัวอย่างมาเฉย ๆ ครับ อันนี้เป็น MSSQL ใช่มั้ยครับ
พอดีตอนนี้ผมไม่มี MSSQL อยู่ในเครื่องหนะครับ เลยลองให้ไม่ได้ด้วยว่า ทำไม error งั้นลองแบบนี้ดูอีกครั้งนะครับ
ดึงเวลาก็ใช้คำสั่งเดิมครับ
Code (VB.NET)
lbldatetime.Text = Now.ToString(New CultureInfo("en-GB"))
ส่วนตอน Add ลองแบบนี้ดูครับ
Code (VB.NET)
With cmd
.Parameters.AddWithValue("@c_orderid", DataGridView4.Rows(i).Cells(0).Value))
.Parameters.AddWithValue("@c_namefood", DataGridView4.Rows(i).Cells(1).Value))
.Parameters.AddWithValue("@c_foodprice", DataGridView4.Rows(i).Cells(2).Value))
.Parameters.AddWithValue("@c_cusname", DataGridView4.Rows(i).Cells(3).Value))
.Parameters.AddWithValue("@c_datetime", Now.ToString(New CultureInfo("en-GB"))
End With
|
 |
 |
 |
 |
Date :
2013-05-30 15:22:40 |
By :
CPU4Core |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เหมือนเดิมเลยครับผม

|
 |
 |
 |
 |
Date :
2013-05-30 15:41:05 |
By :
bigshowbp01 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
งั้นลองดูอันนี้นะครับ
http://www.pro99.net/blogs/?p=674
พอดีในเครื่องผมไม่มี MSSQL เลยไม่รู้จะลองให้ Environment มันตรงกันมากที่ได้สุดยังไง
|
 |
 |
 |
 |
Date :
2013-05-30 15:49:18 |
By :
CPU4Core |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ได้แล้วครับ แต้งกิ้วมากๆ
Code (VB.NET)
Conn.Open()
cmd.Connection = Conn
SqlString = "insert into Checkbill_1(c_orderid,c_namefood,c_foodprice,c_cusname,c_datetime) values(@c_orderid,@c_namefood,@c_foodprice,@c_cusname, CONVERT(datetime,@c_datetime, 103))"
cmd = New System.Data.SqlClient.SqlCommand(SqlString, Conn)
For i As Integer = 0 To DataGridView4.RowCount - 1
If Not DataGridView4.Rows(i).IsNewRow Then
With cmd
.Parameters.Add(New SqlParameter("@c_orderid", DataGridView4.Rows(i).Cells(0).Value))
.Parameters.Add(New SqlParameter("@c_namefood", DataGridView4.Rows(i).Cells(1).Value))
.Parameters.Add(New SqlParameter("@c_foodprice", DataGridView4.Rows(i).Cells(2).Value))
.Parameters.Add(New SqlParameter("@c_cusname", DataGridView4.Rows(i).Cells(3).Value))
.Parameters.Add(New SqlParameter("@c_datetime", lbldatetime.Text))
End With
cmd.ExecuteNonQuery()
cmd.Parameters.Clear()
End If
Next
MessageBox.Show("เรียบร้อยเดี๋ยวพนักงานจะมาเก็บเงิน")
Conn.Close()
เอาconvertไปใส่ตรงนี้
cmd.Connection = Conn
SqlString = "insert into Checkbill_1(c_orderid,c_namefood,c_foodprice,c_cusname,c_datetime) values(@c_orderid,@c_namefood,@c_foodprice,@c_cusname, CONVERT(datetime,@c_datetime, 103))"
|
ประวัติการแก้ไข 2013-05-30 16:08:30
 |
 |
 |
 |
Date :
2013-05-30 16:07:33 |
By :
bigshowbp01 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
จัดไป ครับ
|
 |
 |
 |
 |
Date :
2013-05-30 17:15:09 |
By :
mr.win |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|