SQL的update问题,程序不报错但是运行后数据没有变化,求前辈指教。

大哥大姐,打扰一下,SQL的update问题,程序不报错但是运行后数据没有变化,求前辈指教。?

string str1 = "update [payofftable] set [income]='" + income + "'where [time]=";
str1 = str1 + DateTime.Now.Date.ToString("yyyy-M-d");
OleDbCommand cm1 = new OleDbCommand(str1, con);
cm1.ExecuteNonQuery()
我用select语句查过是可以查到有日期为DateTime.Now.Date.ToString("yyyy-M-d")的一行的,但是为什么这里改不了呢?
最新回答
考试的考试哪里才是假期

2024-10-17 12:09:20

目测可能是少加了个单引号

假设是今天执行的, income = 123 你的 实际执行的语句为:

update [payofftable] set [income]='123' where [time]= 2013-5-15

后面那个 2013-5-15 最后会被按照 int 类型来处理, 变成 2013 减5 减15

正确的写法应该为

update [payofftable] set [income]='123' where [time]= '2013-5-15'
-对着教师唱情歌

2024-10-17 12:43:43

OleDbCommand 是access数据库的
通配符
,貌似你SQL语句是SQL Server的。
当风起时

2024-10-17 10:45:35

string str1 = "update payofftable set income='" & income & "'where time=";
str1 = str1 + DateTime.Now.Date.ToString("yyyy-M-d");

1、你把+改成&,
2、去掉[]。