string returnTime = DateTime.Now.Date.ToShortDateString();
string updateSql = "update tb_bookBorrow set isReturn='1',returnTime=‘“+returnTime+”’ where bookBarCode='" + bookBarCode + "'and readerBarCode='" + txtReaderBarCode.Text + "'";
原来数据库的borrowTime returnTime是2011-4-24 ; 2011-4-26
更新后的returnTime是1905-6-5,不知道什么原因,请高手给讲讲啊
string returnTime = DateTime.Now.Date.toString();
或者
string updateSql = "update tb_bookBorrow set isReturn='1',returnTime=GETDATE ( ) where bookBarCode='" + bookBarCode + "'and readerBarCode='" + txtReaderBarCode.Text + "'";
应该不是这里的问题,你可以把数据库打开,用SQL Server Profiler工具看一下执行的SQL语句到底是什么
这个就相当于修改,你调试,断点先设置在sql语句那里,看看传过来的参数,然后把组合的sql语句拿到查询分析器里面执行下,看是什么问题,如果在查看参数的时候就有问题,那先看看你传参的地方。
sql语句直接写Date=getdate()
string updateSql = "update tb_bookBorrow set isReturn='1',returnTime=getdate() where bookBarCode='" + bookBarCode + "'and readerBarCode='" + txtReaderBarCode.Text + "'";
感觉不是sql语句的问题,你最好仔细检查一下你查出来的数据和更新的数据是同一条
建议:
使用 事务探测器 进行 跟踪
2011-4-26 = 1981
1900 = 365 , 1901 = 365, 1902 = 365, 1903 = 365, 1904 = 366
1905/1 = 31, 1905/2 = 28, 1905/3 = 31, 1905/4 = 30, 1905/5 = 31
1905/6/5 = 5
365*4 + 366 + 31*3 +28+ 30 + 5 = 1460 +366 + 93 + 63 = 1826 + 156 = 1982
1900/1/1 = 0, 1900/12/31 = 364
1982=2011-4-26 = 1905/6/5