asp 数据库小问题again

来源:百度知道 编辑:UC知道 时间:2024/06/08 02:02:59
这样的一段代码,运行后报错:
'read.asp

idp=request.QueryString("idp")
set rs=server.CreateObject("adodb.recordset")
sql="select * from publish where p_id='"&idp&"'"
rs.open sql,conn,1,1'第103行
titlep=rs("p_title")

错误类型:
Microsoft JET Database Engine (0x80040E07)
标准表达式中数据类型不匹配。
/swyx/webs/admin/read.asp, 第 103 行

这是怎么回事呢?

我是这样跳到这个页面的:
<a href="webs\admin\read.asp?idp=<%=rs("p_id")%>"><%=rs("p_title")%></a>
是不是这样的写法出了错误?

数据库里面p_id是数字类型的吧,把两边的单引号去掉

sql="select * from publish where p_id="&idp&""

说白了就是SQL语句的拼写问题

如果你的idp是字符串类型
sql="select * from publish where p_id='" + idp + "'"

如果你的idp是整行
sql="select * from publish where p_id=' + idp + '"