อยากเปลี่ยน format จาก yyyy/MM/dd เป็น dd/MM/yyyy
คือตอนนี้ อยากได้ข้อมูลเป็นแบบนี้ 19/06/2557
คิวรี่ข้อมามาจาก DB ข้อมูลจะมาเป็นแบบนี้ 2014-06-19 00:00:00.000
พอเรารันออกหน้า report เป็นเป็นแบบนี้ 2557-06-19 00:00:00.000 ความที่เครื่่องตั้งไว้
ต้องแปลงตรงไหนยังไงค่ะ คือตอนนี้ลองแปลงที่ SQL ตามนี้
Code (SQL)
CONVERT(VARCHAR(10), dbo.M_Cassette.dt_ValidityDate, 103) AS dt_ValidityDate
จะได้รูปแปปแบบนี้ 19/06/2014 อยากได้แบบ ---->19/06/2557
ตอนออก report จะมี code แบบนี้
Code (VB.NET)
dt_Stock.Columns.Clear()
dt_Stock.Columns.Add("ln_CassetteNo", GetType(String))
dt_Stock.Columns.Add("vc_DrugCd", GetType(String))
dt_Stock.Columns.Add("vc_DrugNm", GetType(String))
dt_Stock.Columns.Add("ln_TheoryStock", GetType(String))
dt_Stock.Columns.Add("vc_LotNo", GetType(String))
dt_Stock.Columns.Add("dt_ValidityDate", GetType(String))
'------------------RP-------------------------
'dss.Clear()
ds.Tables().Clear()
ds = clsP.Stock(0)
If ds.Tables(0).Rows.Count = 0 Then MsgBox("ไม่มีข้อมูล") : Exit Sub
dt_Stock.Rows.Clear()
'MessageBox.Show()
Dim courow As Integer
courow = ds.Tables(0).Rows.Count
For i As Integer = 0 To courow - 1
dt_Stock.Rows.Add(New Object() {ds.Tables(0).Rows(i).Item("ln_CassetteNo").ToString, _
ds.Tables(0).Rows(i).Item("vc_DrugCd").ToString, _
ds.Tables(0).Rows(i).Item("vc_DrugNm").ToString, _
ds.Tables(0).Rows(i).Item("ln_TheoryStock").ToString, _
ds.Tables(0).Rows(i).Item("vc_LotNo").ToString, _
ds.Tables(0).Rows(i).Item("dt_ValidityDate").ToString})
Next
Tag : .NET, Ms SQL Server 2012, VS 2012 (.NET 4.x)
Date :
2013-09-10 09:20:42
By :
nunidnaja
View :
3956
Reply :
6
ToString("dd/MM/yyyy", Globalization.CultureInfo.CreateSpecificCulture("th-TH"))
Code (VB.NET)
For i As Integer = 0 To courow - 1
dt_Stock.Rows.Add(New Object() {ds.Tables(0).Rows(i).Item("ln_CassetteNo").ToString, _
ds.Tables(0).Rows(i).Item("vc_DrugCd").ToString, _
ds.Tables(0).Rows(i).Item("vc_DrugNm").ToString, _
ds.Tables(0).Rows(i).Item("ln_TheoryStock").ToString, _
ds.Tables(0).Rows(i).Item("vc_LotNo").ToString, _
ds.Tables(0).Rows(i).Item("dt_ValidityDate").ToString("dd/MM/yyyy", Globalization.CultureInfo.CreateSpecificCulture("th-TH"))})
Next
Date :
2013-09-10 09:46:03
By :
คนงานตัดอ้อย
อ่อ โทษทีครับ ตกหล่น
Code (VB.NET)
DateTime.Parse("***").ToString("dd/MM/yyyy", Globalization.CultureInfo.CreateSpecificCulture("th-TH"))
*** คือ ค่าสตริงที่จะเอาไปแปลงเป็นวันเวลา
Code (VB.NET)
For i As Integer = 0 To courow - 1
dt_Stock.Rows.Add(New Object() {ds.Tables(0).Rows(i).Item("ln_CassetteNo").ToString, _
ds.Tables(0).Rows(i).Item("vc_DrugCd").ToString, _
ds.Tables(0).Rows(i).Item("vc_DrugNm").ToString, _
ds.Tables(0).Rows(i).Item("ln_TheoryStock").ToString, _
ds.Tables(0).Rows(i).Item("vc_LotNo").ToString, _
DateTime.Parse(ds.Tables(0).Rows(i).Item("dt_ValidityDate").ToString).ToString("dd/MM/yyyy", Globalization.CultureInfo.CreateSpecificCulture("th-TH")) })
Next
หรือถ้าใช้ MS SQL เวอร์ชั่นใหม่ ๆ ก็ใช้ SELECT FORMAT(xxxxx) FROM AA ไปเลยครับ
เห็นใน MS SQL 2012 มีให้ใช้อยู่ เวอร์ชั่นอื่นๆไม่รู้เหมือนกันครับ
ประวัติการแก้ไข 2013-09-11 10:47:59
Date :
2013-09-11 10:39:19
By :
คนงานตัดอ้อย
จาก
CONVERT(VARCHAR(10), dbo.M_Cassette.dt_ValidityDate, 103) AS dt_ValidityDate
แก้เป็น
dbo.M_Cassette.dt_ValidityDate
จาก
dt_Stock.Columns.Clear()
dt_Stock.Columns.Add("ln_CassetteNo", GetType(String))
dt_Stock.Columns.Add("vc_DrugCd", GetType(String))
dt_Stock.Columns.Add("vc_DrugNm", GetType(String))
dt_Stock.Columns.Add("ln_TheoryStock", GetType(String))
dt_Stock.Columns.Add("vc_LotNo", GetType(String))
dt_Stock.Columns.Add("dt_ValidityDate", GetType(String))
'------------------RP-------------------------
'dss.Clear()
ds.Tables().Clear()
ds = clsP.Stock(0)
If ds.Tables(0).Rows.Count = 0 Then MsgBox("ไม่มีข้อมูล") : Exit Sub
dt_Stock.Rows.Clear()
'MessageBox.Show()
Dim courow As Integer
courow = ds.Tables(0).Rows.Count
For i As Integer = 0 To courow - 1
dt_Stock.Rows.Add(New Object() {ds.Tables(0).Rows(i).Item("ln_CassetteNo").ToString, _
ds.Tables(0).Rows(i).Item("vc_DrugCd").ToString, _
ds.Tables(0).Rows(i).Item("vc_DrugNm").ToString, _
ds.Tables(0).Rows(i).Item("ln_TheoryStock").ToString, _
ds.Tables(0).Rows(i).Item("vc_LotNo").ToString, _
ds.Tables(0).Rows(i).Item("dt_ValidityDate").ToString})
Next
แก้เป็น
dt_Stock.Columns.Clear()
dt_Stock.Columns.Add(New DataColumn("ln_CassetteNo", GetType(Long)))
dt_Stock.Columns.Add(New DataColumn("vc_DrugCd", GetType(String)))
dt_Stock.Columns.Add(New DataColumn("vc_DrugNm", GetType(String)))
dt_Stock.Columns.Add(New DataColumn("ln_TheoryStock", GetType(Long)))
dt_Stock.Columns.Add(New DataColumn("vc_LotNo", GetType(String)))
dt_Stock.Columns.Add(New DataColumn("vc_ValidityDate", GetType(String)))
'------------------RP-------------------------
'dss.Clear()
ds.Tables().Clear()
ds = clsP.Stock(0)
If ds.Tables(0).Rows.Count = 0 Then MsgBox("ไม่มีข้อมูล") : Exit Sub
dt_Stock.Rows.Clear()
'MessageBox.Show()
ds.Tables(0).Rows.Cast(Of DataRow)().ToList().ForEach(Sub(dr)
Dim drNew = dt_Stock.NewRow()
drNew("ln_CassetteNo") = dr.Field(Of Long)("ln_CassetteNo")
drNew("vc_DrugCd") = dr.Field(Of String)("vc_DrugCd")
drNew("vc_DrugNm") = dr.Field(Of String)("vc_DrugNm")
drNew("ln_TheoryStock") = dr.Field(Of Long)("ln_TheoryStock")
drNew("vc_LotNo") = dr.Field(Of String)("vc_LotNo")
drNew("vc_ValidityDate") = dr.Field(Of DateTime)("dt_ValidityDate").ToString("dd/MM/yyyy", New System.Globalization.CultureInfo("th-TH"))
dt_Stock.Rows.Add(drNew)
End Sub)
Date :
2013-09-11 10:47:51
By :
ห้ามตอบเกินวันละ 2 กระทู้
Code (VB.NET)
Dim dt_Stock As DataTable() = ds.Tables(0).Clone()
ds.Tables(0).AsEnumerable().ForEach(Sub(r)
dt_Stock.Rows.Add(r.ItemArray())
End Sub)
'Set Culture
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("th-TH")
dt_Stock.Locale = System.Threading.Thread.CurrentThread.CurrentCulture
...
...
...
'Reset Culture
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US")
dt_Stock.Locale = System.Threading.Thread.CurrentThread.CurrentCulture
Date :
2013-09-11 12:10:13
By :
ผ่านมา
ผมได้พึ่งใบบุญไปด้วย ขอบคุณครับ
Date :
2014-01-06 11:56:39
By :
Chunate
Load balance : Server 02