一个小错误,浪费两小时

自我感觉真是低效率!这个是个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值了:

image

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

image

posted @ 2010-06-16 19:07  翁玉礼  阅读(671)  评论(11编辑  收藏  举报