两个datetime值比较报错的问题

来源:百度知道 编辑:UC知道 时间:2024/05/31 13:35:24
我用的是mssql数据库,里面存储时间的字段类型用的是datetime类型
我的操作步骤如下:
1、从a页面传到当前b页面来一个ID号,根据这个号码用了conn.execute从数据表table里找到记录并把此记录的datetime类型字段time的值取出来赋给变量shijian.

2、用conn.execute重新打开table表然后想查到比shijian这个变量值小的第一条记录,然后取出此记录的所有数据,我的sql语句是这样写的:
sql="select top 1 * from table where time<"&shijian&" order by time desc"(即我想实现“下一条”的功能)
3、“上一条”的功能的sql语句也是这么写的,只不过吧其中的"<"改为了“ >”

请问我这样写,为什么报错啊?好像时间比较那个地方有错误,怎么个正确写法啊?

注意:table表中ID是主键,time字段不是,不过和这个没关系吧?
不是time的事情,我把表中time改为tm都不管用,就是用 rs.open sql,conn,1,1报这一行有错,问题可能就出在比较上

哦。刚才试了下,改成
sql="select top 1 * from table where time<'"&shijian&"' order by time desc"

原来时间在比较时也要加引号,与更新一样

时间格式用#
where time < #2008-8-8#

报错的地方是指sql错了,你的sql where 中 time 错了