แปลงรูปแบบวันที่ให้เป็นรูปแบบภาษาไทย ทำยังไงคะ....
แปลงรูปแบบวันที่ให้เป็นรูปแบบภาษาไทย ทำยังไงคะ.................................... พอดีเก็บรูปแบบวันที่เป็น 6/10/2553 13:37:43
แล้วพอเรียกมาแสดงใน crystal report และ textbox ปกติจะแสดง 6/10/2553 13:37:43 ต้องการให้แสดงในรูปแบบ
6 ตุลาคม 2553 และตัดเวลาออกทำไงคะ ช่วยทีเจ้าาคร่าาาาาาาาาา โค๊ดที่ select มีดังนี้ค่ะ
sb.Remove(0, sb.Length)
sb.Append("SELECT PID,His_Firstname,His_Lastname,Typ_Name,Case_Name,Acq_OutpenaltyDay")
sb.Append(" FROM ViewAcqted")
sb.Append(" WHERE (Acq_OutpenaltyDay BETWEEN @DateStart AND @DateEnd)")
Dim sqlSearch As String
sqlSearch = sb.ToString()
With com
.CommandText = sqlSearch
.CommandType = CommandType.Text
.Connection = Conn
.Parameters.Clear()
.Parameters.Add("@DateStart", SqlDbType.NVarChar).Value = dtmStart.Value
.Parameters.Add("@DateEnd", SqlDbType.NVarChar).Value = dtmEnd.Value
dr = .ExecuteReader()
If dr.HasRows Then
dt.Load(dr)
Dim rpt As New RptCryAcqted
rpt.SetDataSource(dt)
FormCrystalReport.Viewer1.ReportSource = rpt
FormCrystalReport.Text = "รายงานวันที่พ้นโทษตามช่วงเวลา"
FormCrystalReport.ShowDialog()
Else
MessageBox.Show("ไม่พบข้อมูล !!!", "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End With
dr.Close()
End SubTag : .NET, Ms SQL Server 2005, Crystal Report, Win (Windows App), VB.NET
Date :
2010-10-06 23:06:04
By :
jdai
View :
3187
Reply :
2
ทำไม่ได้ครับ เพราะคุณเก็บเป็น 6/10/2553 13:37:43 ซึ้งเป็นรูปแบบ ของ datetime จึงไม่สามารถที่จะแปลงได้ครับ
นอกจากว่าจะเก็บ เป็นข้อความ แล้วนำมาตัดอีกที หรือไม่ก็ตอนที่ทำการกรอกข้อมูลเข้ามา ให้ทำ เดือน เป็นภาษาไทยครับ ในตอนที่เลือก ว/ด/ป
Date :
2010-10-07 14:41:20
By :
kanchen
จาก
SELECT PID, His_Firstname, His_Lastname, Typ_Name, Case_Name, Acq_OutpenaltyDay
ลองเปลี่ยนเป็น
SELECT PID, His_Firstname, His_Lastname, Typ_Name, Case_Name, CONVERT(nvarchar, Acq_OutpenaltyDay, 103) AS OutpenaltyDay
รูปแบบผมดูจากที่นี่อะครับ http://msdn.microsoft.com/en-us/library/aa226054(SQL.80).aspx
คำสั่ง CONVERT(nvarchar, Acq_OutpenaltyDay, 106) มันจะ Convert ให้เป็นรูปแบบ dd mon yyyy (01/Jan/2010) อะครับ ประมาณนี้ 08 Oct 2010 แต่เป็นแบบ US อ่าครับ - - " ซึ่งยังไม่ตรงกับความต้องการ
จากนั้น ก่อนที่เราจะส่ง DataRow ไปให้ DataTable ก็แปลงค่าใน column "OutpenaltyDay" ให้เป็นรูปแบบวันที่ต้องการก่อน
ผมขออนุญาติใช้ C# นะครับ
Code (C#)
System.DateTime convertdate = DateTime.Parse(dr["OutpenaltyDay"]);
dr["OutpenaltyDay"] = convertdate.ToString("d MMMM yyyy", new System.Globalization.CultureInfo("th-TH"));
Custom Date and Time Format Strings > > http://msdn.microsoft.com/en-us/library/8kb3ddd4(v=VS.90).aspx
ผมไม่แน่ใจว่า nvarchar จะใส่ String ได้หรือเปล่านะครับ (ไม่ได้ลองหน่ะครับ ขออภัยอย่างยิ่ง)
รอผู้รู้ชี้แจงด้วยนะครับผม
ผิดพลาดประการใดก็ขออภัยด้วยนะครับ... มือใหม่หัดเขียนครับ
Date :
2010-10-08 02:24:35
By :
ReDEyEs
Load balance : Server 03