主题:  查询数据库程序时遇到的问题[asp]

泡饭

职务:普通成员
等级:2
金币:2.0
发贴:734
#12002/2/3 1:54:56
我是想按提交过来的yrdwqc的值来做查询条件,弄了一个晚上都没有搞好
如以上网求助。源代码如下:

adsdata="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("ads/user.mdb")
set adsconn=server.CreateObject("adodb.connection")
adsconn.Open adsdata

dw=trim(Request("yrdwqc"))

adssql="select * from usertable where yrdwqc like "& dw
set adsrs=adsconn.Execute (adssql,1,1)
while not adsrs.EOF or BOF
Response.Write("

"& adsrs("name") &"

")
adsrs.MoveNext
wend
adsrs.Clone
set adsrs=nothing
adsconn.Close
set adsconn=nothing

为什么运行时会出现:
-------------------------------------------------------------
Microsoft JET Database Engine 错误 '80040e10'

至少一个参数没有被指定值

/sb/listdwgr.asp, 行10
-------------------------------------------------------------
希望大家多多帮忙。谢谢!!! :confused:

编辑历史:[这消息被wincheer编辑过(编辑时间2002-02-04 22:46:48)]


一溪流水

职务:普通成员
等级:1
金币:0.0
发贴:15
#22002/2/6 14:21:41
嗯,这一句好像错了~
adssql="select * from usertable where yrdwqc like "& dw
应该是:adssql="select * from usertable where yrdwqc = "& dw
如果你想使用like做通配符查询的话,起码后面应该有个通配符比如:%,#,什么的, 你可以试试看。



泡饭

职务:普通成员
等级:2
金币:2.0
发贴:734
#32002/2/7 22:10:20
谢谢了,我现在已经解决了。
:)



泡饭

职务:普通成员
等级:2
金币:2.0
发贴:734
#42004/4/19 18:46:10
我想问一下通配符怎么应用到我这个源代码里呢???~

adssql="select * from usertable where yrdwqc like '%"& dw &"%'"
不知道这样行不行啊!!!!~

%号是不是代表任何字符,那么#号又是代表什么?

我想做模糊查询。




泡饭

职务:普通成员
等级:2
金币:2.0
发贴:734
#52004/4/20 10:37:28
adsdata="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data.mdb")
set adsconn=server.CreateObject("adodb.connection")
adsconn.Open adsdata

dw=trim(request("selce"))

adssql="select * from table where name like '%" & dw & "'%"
set adsrs=adsconn.Execute (adssql,1,1)
while not adsrs.EOF or BOF
Response.Write(""& adsrs("name") &"")
adsrs.MoveNext
wend
adsrs.Clone
set adsrs=nothing
adsconn.Close
set adsconn=nothing

==================================================

Microsoft JET Database Engine (0x80040E14)
FROM 子句语法错误。

==================================================

adssql="select * from table where name like '%" & dw & "'%"
我要晕了,这个表达式没有错吧!!!!~



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#62004/4/20 11:08:04
不要用一个常见的单词做数据库的表或者字段的名字,可以加上一个前缀或者后缀来避免和保留字冲突



绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
#72004/4/20 15:38:39
lpww在上个帖子中说
引用:
adsdata="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data.mdb"
set adsconn=server.CreateObject("adodb.connection"
adsconn.Open adsdata

dw=trim(request("selce")

adssql="select * from table where name like '%" & dw & "'%"
set adsrs=adsconn.Execute (adssql,1,1)
while not adsrs.EOF or BOF
Response.Write(""& adsrs("name" &""
adsrs.MoveNext
wend
adsrs.Clone
set adsrs=nothing
adsconn.Close
set adsconn=nothing

==================================================

Microsoft JET Database Engine (0x80040E14)
FROM 子句语法错误。

==================================================

adssql="select * from table where name like '%" & dw & "%'"
我要晕了,这个表达式没有错吧!!!!~


可以这样用
adssql="select * from [table] where [name] like '%" & dw & "'%"
以区别保留字