【发布时间】:2013-10-25 20:32:49
【问题描述】:
我正在尝试将这些日期从 Excel 电子表格输入数据库。我已经能够让 C# 从电子表格中读取日期,但现在 SQL 命令不允许我将这些行插入数据库。我需要一些帮助才能正确格式化数据库以排除它。
在调试模式下,这是日期:'UpdateDate '3/28/2013 12:00:00 AM',这就是它在 excel 表中的样子:3 /28/2013 下午 2:04:49。以下是我的代码:
private static bool SentenceMeasures_Update(DataRow dr)
{
bool inserted = false;
DateTime dt;
Database pbkDB = DatabaseFactory.CreateDatabase("PbKConnectionString");
try
{
ChargeCode = dr["ChargeCode"].ToString().Trim();
MeasureCode = dr["MeasureCode"].ToString().Trim();
UpdateUserId = String.IsNullOrEmpty(dr["UpdateUserId"].ToString().Trim()) ? "KSCONV" : dr["UpdateUserId"].ToString().Trim();
UpdateDate = DateTime.TryParse(dr["UpdateDate"].ToString(), out dt) ? dt : DateTime.Now;
DbCommand dbCommand = pbkDB.GetSqlStringCommand(string.Format(@"Update tblCtStateChargeSentenceMeasures set MeasureCode = '{1}', UpdateUserId = '{2}', UpdateDate '{3}' where ChargeCode = '{0}')", ChargeCode, MeasureCode, UpdateUserId, UpdateDate));
pbkDB.ExecuteNonQuery(dbCommand);
inserted = true;
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
return inserted;
}
【问题讨论】:
-
你的数据库是什么?数据库中的日期字段是什么类型的?是日期、时间戳等吗?
-
以上产生了什么错误?
-
我遇到了一个 SQL 错误。第一个答案解决了我的问题。谢谢大家。
-
@Katherine 我对以下答案的评论很好,请继续检查它以解决您的问题。欢迎来到堆栈溢出! ;)