我程序中的一条update语句,报错“标准表达式中数据类型不匹配
”,我实在找不出原因了,麻烦高手帮忙看一下,谢谢了!
DataClass1.executecommand("update tab_MacInfo set ManuPrint = " + IsPrint + " and PrintDate = '" + time1 + "' where MacAddress = '" + strMac +"'");
我有一张tab_MacInfo表,里面有三个字段,分别为【ManuPrint】,【PrintDate】,【MacAddress】,其中【ManuPrint】在access中为“是/否”类型,【PrintDate】为“日期/时间”类型,【MacAddress】为“文本型”。
我debug的时候,看了下,运行到这里的时候,bool型变量IsPrint的值为true,string型变量timer1为"2012-1-13 14:53:61", strMac为"B8A386463D3E".
try
{
DataClass1.executecommand("update tab_MacInfo set ManuPrint = " + IsPrint + " and PrintDate = '" + time + "' where MacAddress = '" + strMac + "'");
}
catch (Exception e12)
{
MessageBox.Show("将打印信息写入数据库中时出现异常!\r\n" + e12.Message.ToString(), "错误:", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
1. 改成你说的那句也不行,还是报同样的错。IsPrint是bool型,应该不能向字符型变量一样加单引号吧。
2. timer1是string型哦,有问题吗?
你可以先把数据库里面PrintDate 改成string类型的 试试 看是不是错误出在这里
bool型的可以用单引样