湖南沅江人民医院:哪位兄弟帮忙看看,是不是变量有问题!

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 18:09:20
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
ODBC 驱动程序不支持所需的属性。
/sitefiles2/web-content/showarticle.asp, 第 11 行

showarticle.asp如下:

<%@language="vbscript" codepage="65001"%>
<%
dim conn,xuhao
set conn = server.createobject("adodb.connection")
conn.open "readbook"
id_article=request.querystring("id_article")
xh=id_article
theday=request.querystring("theday")
set rsarticle = server.createobject("adodb.recordset")
sqlarticle = "Select * from [article] where id_article=xh"
rsarticle.open sqlarticle,conn,1,1
Session("theday") = theday
Session("title") = rsarticle("title")
Session("content") = rsarticle("content")
Session("datearticle") = rsarticle("date")
Session("hit_article") = rsarticle("hit_article")
Session("review") = rsarticle("review")
rsarticle.close
set rsarticle=nothing
Response.redirect "articleinfo.asp"
'response.write sqlarticle
conn.Close
Set conn = nothing
%>

问题似乎是出在这一句:sqlarticle = "Select * from [article] where id_article=xh"
因为"xh"在前面已经从"id_article"处得到值了,是3,如果我直接写成
sqlarticle = "Select * from [article] where id_article=3"就没任何问题.
是不是"xh"的变量类型不对呢?

"Select * from [article] where id_article=xh"
如果xh是数字类型的改成
"Select * from [article] where id_article=" & xh
如果是字符类型的改成
"Select * from [article] where id_article='" & xh & "'"

还有conn.open "readbook" 是什么 这里不是写数据库连接字符串的吗
应该是conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("数据库名") & ";Persist Security Info=False"

sqlarticle = "Select * from [article] where id_article='"&xh&"'"

用&来做连接符,你吧XH直接写入了SQL语句,系统怎么知道XH是个变量,

sqlarticle = "Select * from [article] where id_article='"&xh&"'"

用&来做连接符,你吧XH直接写入了SQL语句,系统怎么知道XH是个变量,

"Select * from [article] where id_article=xh"
如果xh是数字类型的改成
"Select * from [article] where id_article=" & xh
如果是字符类型的改成
"Select * from [article] where id_article='" & xh & "'"

还有conn.open "readbook" 是什么 这里不是写数据库连接字符串的吗
应该是conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("数据库名") & ";Persist Security Info=False"