关于asp查询的问题,急急急!
我写了一段asp代码用来提供查询功能,代码如下:<%cn=request.form("company")%><%setconn=server.CreateObject("...
我写了一段asp代码用来提供查询功能,代码如下:
<%
cn=request.form("company")
%>
<%
set conn=server.CreateObject("adodb.connection")
DBPath = Server.MapPath("db1.mdb")
conn.open "provider=microsoft.jet.oledb.4.0; data source="&DBpath
if cn<>"" then
exec="select * from info where cn like '%" & cn & "%'"
else
response.write "查询条件不能为空!!!"
end if
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
%>
运行的时候ie总是提示
错误类型:
ADODB.Recordset (0x800A0BB9)
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
请高高手帮忙看一下!!! 展开
<%
cn=request.form("company")
%>
<%
set conn=server.CreateObject("adodb.connection")
DBPath = Server.MapPath("db1.mdb")
conn.open "provider=microsoft.jet.oledb.4.0; data source="&DBpath
if cn<>"" then
exec="select * from info where cn like '%" & cn & "%'"
else
response.write "查询条件不能为空!!!"
end if
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
%>
运行的时候ie总是提示
错误类型:
ADODB.Recordset (0x800A0BB9)
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
请高高手帮忙看一下!!! 展开
4个回答
展开全部
出错的原因是当cn为空(也就是cn="")时,exec没有被赋值,后面的rs.open exec,conn,1,1依旧会运行(自然就出错了)
把这段改一下:
if cn<>"" then
exec="select * from info where cn like '%" & cn & "%'"
else
response.write "查询条件不能为空!!!"
end if
修改为:
IF Len(Trim(cn))<1 Then
Response.Write "查询条件不能为空"
Response.End()
Else
exec="select * from info where cn like '%" & cn & "%'"
End IF
或者,你可以把
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
这两行放到Else之前去运行。
把这段改一下:
if cn<>"" then
exec="select * from info where cn like '%" & cn & "%'"
else
response.write "查询条件不能为空!!!"
end if
修改为:
IF Len(Trim(cn))<1 Then
Response.Write "查询条件不能为空"
Response.End()
Else
exec="select * from info where cn like '%" & cn & "%'"
End IF
或者,你可以把
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
这两行放到Else之前去运行。
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP...
点击进入详情页
本回答由Storm代理提供
展开全部
<%
cn=request.form("company")
%>
<%
set conn=server.CreateObject("adodb.connection")
DBPath = Server.MapPath("db1.mdb")
conn.open "provider=microsoft.jet.oledb.4.0; data source="&DBpath
if cn<>"" then
exec="select * from info where cn like '%" & cn & "%'"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
else
response.write "查询条件不能为空!!!"
end if
%>
cn=request.form("company")
%>
<%
set conn=server.CreateObject("adodb.connection")
DBPath = Server.MapPath("db1.mdb")
conn.open "provider=microsoft.jet.oledb.4.0; data source="&DBpath
if cn<>"" then
exec="select * from info where cn like '%" & cn & "%'"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
else
response.write "查询条件不能为空!!!"
end if
%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先,你的OPEN不能放到IF之外,否则EXEC这个字段是什么?其次,我也没发现什么问题!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果cn等于空的时候,你的exec就没有值.
那么rs.open exec,conn,1,1这句话肯定就会出错了.
你应该把这句
改成
if cn<>"" then
exec="select * from info where cn like '%" & cn & "%'"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
else
response.write "查询条件不能为空!!!"
response.end
end if
那么rs.open exec,conn,1,1这句话肯定就会出错了.
你应该把这句
改成
if cn<>"" then
exec="select * from info where cn like '%" & cn & "%'"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
else
response.write "查询条件不能为空!!!"
response.end
end if
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询