一个小错误,浪费两小时

自我感觉真是低效率!这个是个SQL语句在ACCESS执行的问题,如下: 

代码
string  strSql  =   " select top 2000 * from message where receiver=' " + UserAccount + " ' and sendtime<' " + DateTime.Now + " ' and sendtime>' " + DateTime.Now.AddDays( - 1 ) + " ' "

OleDbConnection con 
=   new  OleDbConnection( " Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/Chat.mdb " ); 
            con.Open(); 
            OleDbDataAdapter dataAdapter 
=   new  OleDbDataAdapter(strSql,con); 
            DataSet ds 
=   new  DataSet(); 
            dataAdapter.Fill(ds); 
            con.Close();

 

 这段代码在dataAdapter.Fill(ds);的时候一直提示“至少一个参数没有被指定值”,又将这段代码放到一个测试页面走了一遍还是没有问题的,百思不得其解,于是到网络上查询,还是得不到解决办法。哎,无奈自己测试了多次都没有想到将语句断点截获到Access中执行,最后才想到这个办法,这一执行不打紧,还让输入datetime值了: 

  

仔细看了语句才知道,原来表中的字段是SendTime,我的查询语句写成datetime了,这么小的错误,耽误了两个小时,教训哪。记一下,鞭笞自己。

 

你可能感兴趣的:(Access,DateTime,休闲,fill,至少一个参数没有被指定值)