高手来看一下我的这个SQL语句,老是不对,我在线等!!!急

来源:百度知道 编辑:UC知道 时间:2024/05/16 06:46:04
sql="select * from tb_member where regtime>dateadd('d',-1,now())"
ASP的SQL语句,regtime类型是时间类型,取值到了秒,
我想从数据库中取出从前一天算起记录,但报错
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
ODBC 驱动程序不支持所需的属性。
数据库是SQL Server 2000 字段regtime是自动添加值,类型为datatime,默认值是(getdate())
两位的答案我都试过了,还是不行,报错是
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC SQL Server Driver][SQL Server]从字符串转换为 datetime 时发生语法错误。d的引号我去掉后试了,也不行

sql="select * from tb_member where regtime>dateadd(d,-1,getdate())"

sql="select * from tb_member where regtime>dateadd(d,-1,now())"

这个d,不能要引号

还有,不要用odbc,效率差,可以直接联到sqlserver
strcnn="provider=sqloledb.1;persist security info=true;user id=sa;password=leonnet;initial catalog=127.0.0.1;data source=数据库名称;connect timeout=200"

或者:
"Provider=SQLOLEDB;Server=服务器的IP;Uid=SQL的用户名;pwd=SQL的密码;DataBase=数据库名称;"
或者:
connstr="driver={SQL Server};server=服务器的IP;uid=SQL的用户名;pwd=SQL的密码;Database=数据库名称"

是不是 日期时间格式不对,好象是你把函数也写成字符串了哦
你看看这样:
sql="select * from tb_member where regtime>'"&dateadd('d',-1,now())&"'"
或者

sql="select * from tb_member where regtime>"&dateadd('d',-1,now())

如果你的数据库是access的那么好象要写成:
sql="select * from tb_member where regtime>#"&dateadd('