我遇到问题,DateToday给我一个例外:
"标准表达式"
中的数据类型不匹配
当我尝试将今天的日期更新为字符串NewYork
时。我的DateToday的数据类型是DateTime
。问题存在于条款" Where",但当我尝试运行CommandText而没有条款,一切都很顺利
DateTime date = DateTime.Now;
String dateToday = date.ToString("M/dd/yyyy");
String NewYork = dateToday + " 12:00:00 AM";
if (NewYork == label2.Text)
{
connection.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = connection;
cmd.CommandText = "update SalesPerDay set [salesOfToday]=[salesOfToday]+" + (TextBox1.Text) + ",[DateToday] = '" + NewYork + "' where [DateToday]='" + NewYork + "'";
cmd.ExecuteNonQuery();
connection.Close();
}
答案 0 :(得分:0)
在我开始之前,您可以使用DateTime.Now.Date
从日期时间获取日期。
我发现在处理日期时间字符串时,我发现避免数据类型不匹配的一个简单方法是将其格式化为yyyy/MM/dd
格式,即第一年。当年份是第一年时,月份和日期的顺序应始终相同。
但是你可以通过使用来完成你想要做的事情
var NewYork = DateTime.Now.Date.ToString("o");
并在查询中使用结果作为日期时间。