Best practice for working with DateTime in asp.net and my sql server
Best practice for working with DateTime in asp.net and my sql server
Or
Format the update parameter value at time of updating List View
my sql store data in yyyy-mm-dd format...
but it can execute update command if date is in mm/dd/yyyy fromat.
My web app displays controls in uk , indian format ie dd/mm/yyyy
You can retrive date in dd/mm/yyyy format from mysql by folowing query
SELECT DATE_FORMAT(sch_dt,'%d/%m/%Y') as sch_dt, FROM comm_prog
So finally here is the Best practice for working with DateTime in asp.net and my sql server.
Make an entry in your web.config file like this inside system.web
<!-- To let the default date as en-US style mm/dd/yyyy in backgrount and let controls have en-GB dd/mm/yyyy format / Culture fr-CH, Date: 30.11.2007 00:00:00-->
<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture = "en-US" uiCulture = "en-US" />
Let the user see dates in dd/mm/yyyy format
like:
<td>
<asp:TextBox ID="sch_dtTextBox" runat="server" Text='<%# Bind("sch_dt") %>' />
<asp:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="sch_dtTextBox" Format="dd/MM/yyyy">
</asp:CalendarExtender>
</td>
But you workaround in MM/dd/yyyy format in your code and change my sql update query parameter in list view itemupdating event as
<asp:ListView ID="ListView1" runat="server" DataKeyNames="uid"
DataSourceID="SqlDataSource1" InsertItemPosition="LastItem" OnItemUpdating ="ListView1_ItemUpdating">
Vinod Kotiya
www.vinodkotiya.com
Or
Format the update parameter value at time of updating List View
my sql store data in yyyy-mm-dd format...
but it can execute update command if date is in mm/dd/yyyy fromat.
My web app displays controls in uk , indian format ie dd/mm/yyyy
You can retrive date in dd/mm/yyyy format from mysql by folowing query
SELECT DATE_FORMAT(sch_dt,'%d/%m/%Y') as sch_dt, FROM comm_prog
So finally here is the Best practice for working with DateTime in asp.net and my sql server.
Make an entry in your web.config file like this inside system.web
<!-- To let the default date as en-US style mm/dd/yyyy in backgrount and let controls have en-GB dd/mm/yyyy format / Culture fr-CH, Date: 30.11.2007 00:00:00-->
<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture = "en-US" uiCulture = "en-US" />
Let the user see dates in dd/mm/yyyy format
like:
<td>
<asp:TextBox ID="sch_dtTextBox" runat="server" Text='<%# Bind("sch_dt") %>' />
<asp:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="sch_dtTextBox" Format="dd/MM/yyyy">
</asp:CalendarExtender>
</td>
But you workaround in MM/dd/yyyy format in your code and change my sql update query parameter in list view itemupdating event as
Protected Sub ListView1_ItemUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.ListViewUpdateEventArgs) Handles ListView1.ItemUpdating
Dim ukProvider As IFormatProvider = New System.Globalization.CultureInfo("en-GB") ' uk style date dd/MM/yyyy
Dim txt As TextBox = TryCast(ListView1.EditItem.FindControl("sch_dtTextBox"), TextBox)
If txt IsNot Nothing Then
Dim temp As String = DateTime.Parse(txt.Text, ukProvider, System.Globalization.DateTimeStyles.NoCurrentDateDefault)
'SqlDataSource1.UpdateParameters("sch_d").DefaultValue = temp 'Strings.Mid(temp, 1, temp.length - 1)
e.NewValues("sch_dt") = temp
End If
End Sub
Dont forgot to Envoke this from Listview1 onitemupdating event:
<asp:ListView ID="ListView1" runat="server" DataKeyNames="uid"
DataSourceID="SqlDataSource1" InsertItemPosition="LastItem" OnItemUpdating ="ListView1_ItemUpdating">
Vinod Kotiya
www.vinodkotiya.com
Comments