访问中使用c#的条件表达式中的数据类型不匹配

时间:2016-03-15 08:54:50

标签: c#

我遇到问题,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();
}

1 个答案:

答案 0 :(得分:0)

在我开始之前,您可以使用DateTime.Now.Date从日期时间获取日期。

我发现在处理日期时间字符串时,我发现避免数据类型不匹配的一个简单方法是将其格式化为yyyy/MM/dd格式,即第一年。当年份是第一年时,月份和日期的顺序应始终相同。

但是你可以通过使用来完成你想要做的事情 var NewYork = DateTime.Now.Date.ToString("o");并在查询中使用结果作为日期时间。