SQL Server 2005. Visual Studio 2010. ASP.NET 2.0 Web 应用程序
这是一个支持多种语言的网络应用程序,其中一种是韩语。我在查询字符串中有“langid”来区分不同的语言,如果 langid=3 它是韩语。
在我的 C# 代码后面的代码中,我使用以下查询读取了一个表:
"select * from Reservations where rsv_id = 1234"
表中有一个名为“rsv_date”的列,它是预订日期,类型为 datetime。在 db 表中,它的值为“11/22/2012 4:14:37 PM”。我在 SQL Server Management Studio 中检查了这一点。但是当我读出来时,我得到了“2012-11-22 오후 4:14:37”!那个韩语“오후”是从哪里来的???是因为任何地方的文化背景吗?但我看不到在我的代码或 SQL Server 中的位置。这给我带来了问题,因为当我修改这条记录时,它会尝试将“2012-11-22 오후 4:14:37”写入db,这当然是SQL server报错。
我的原始代码:
Hashtable reservation = new Hashtable();
SqlCommand sqlCommand = null;
SqlDataReader dataReader;
string queryCommand = "select * from Reservations where rsv_id = @RsvID";
sqlCommand = new SqlCommand(queryCommand, getConnection());
sqlCommand.Connection.Open();
sqlCommand.Parameters.AddWithValue("@RsvID", rsvID);
dataReader = sqlCommand.ExecuteReader();
while (dataReader.Read())
{
reservation["rsvID"] = dataReader["rsv_id"];
reservation["rsvCode"] = dataReader["rsv_code"];
reservation["rsvType"] = dataReader["rsv_type"];
reservation["rsvDate"] = dataReader["rsv_date"]; // where does Korean come from?
...
}