ItalianBadAss
ItalianBadAss

Reputation: 1

Datetime Update format error Asp.Net

I have an italian format datetime string like this:

23/03/2012

the sql command of this update is this in the datetime part:

DateTime.ParseExact(Reg_tes.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture)

This works on my Sql server(Italian language) but if i make this on my server(English language) gives me this error:

"the conversion of a varchar data type to a datetime data type resulted in an out-of-range value"

How can I resolve this?

Upvotes: 0

Views: 334

Answers (1)

Tim Schmelter
Tim Schmelter

Reputation: 460078

You should always use parameterized queries to prevent sql-injection and localization issues like this.

So i assume that you are passing this datetime as string to the database.

using(var con = new SqlConnection("connection-string"))
using(var cmd = new SqlCommand("UPDATE dbo.TableName SET DateColumn=@DateColumn WHERE PK=@PK", con))
{
    DateTime reg_tes = DateTime.ParseExact(Reg_tes.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture);
    cmd.Parameters.AddWithvalue("@DateColumn", reg_tes);
    // other parameters ...
    con.Open();
    int affected = cmd.executeNonQuery();
}

Upvotes: 1

Related Questions