我有一个通过文本框输入的,在ASP中要调用前面的文本内容作为数据库搜索字段,怎么错了呢?
我有一个通过文本框输入的,在ASP中要调用前面的文本内容作为数据库搜索字段,怎么错了呢?在strsql后不加where就可以,加了where就报错!请高手指教!
dim text
text=request.form("txtstation")
set conn=server.createobject("adodb.connection")
conn.open "start"
strsql="select * from station where first='"&text&"'"
set rs=server.createobject("adodb.recordset")
rs.source=strsql
rs.activeconnection=conn
问题点数:50、回复次数:10Top
1 楼CommerceServer(软件园里的流氓)回复于 2001-11-27 21:10:03 得分 0
报的什么错?不会是全角引号半角引号或文本框中输入了单引号的错误吧!
把错误报一下!Top
2 楼bwi(奔奔小熊)回复于 2001-11-27 21:59:35 得分 0
不是这些原因!
不用where语句时不报错,数据库搜索正常;用了where语句后会报后面的一些语句错,这是什么原因呢?Top
3 楼CommerceServer(软件园里的流氓)回复于 2001-11-27 22:07:16 得分 0
你还写客户端脚本了吗?结果查询出来吗?Top
4 楼balloy()回复于 2001-11-28 09:36:18 得分 0
不用where语句时不报错,说明where语句出了问题。
我认为有两种可能:
1。 text中含有单引号,使Sql语句出错,解决方法是: first='" & Replace(text, "'", "''") & "'"
2。 就是你的单引号输错了,输成全角的了,解决方法当然是换为',其实CommerceServer(商业秘密[::路德一族::]) 都说过了
另外,我可以问个问题吗?你的conn.open "start"这一句是什么意思,我以前没有过这种用法。Top
5 楼bwi(奔奔小熊)回复于 2001-11-28 20:12:15 得分 0
conn.open是打开我的数据库
另外,我的'肯定用的是半角的,不过你的第一种可能我不太理解,能解释一下吗?Top
6 楼julyclyde(Java初学(大学不教只好自己学))回复于 2001-11-28 20:17:25 得分 0
textbox里边输入了单引号,你的SQL的引号就不配对了Top
7 楼bwi(奔奔小熊)回复于 2001-11-28 20:43:09 得分 0
单引号是成对出现的!Top
8 楼balloy()回复于 2001-11-28 21:04:25 得分 50
你先
Response.write strsql
response.end
把Top
9 楼bwi(奔奔小熊)回复于 2001-11-28 22:00:51 得分 0
为什么要先这样Top
10 楼balloy()回复于 2001-12-07 09:12:16 得分 0
为了调试Top




