asp操作:通过查询判断access数据库中一个表的数据,进而又通过另个表来进行查询判断。代码如下:

<%dimstr'公告引用dimgonggao_sy'公告引导gonggao_sy=1str="系统暂无公告!"setrs=server.CreateObject("ad... <%
dim str '公告引用
dim gonggao_sy '公告引导
gonggao_sy=1
str="系统暂无公告!"

set rs=server.CreateObject("adodb.recordset")
sql1="select top 1 * from kongzhi where sy="&n&" order by id desc"
rs.open sq1,conn,1,3
if not rs.eof then
if rs("gonggao_kongzhi")=1 then
session("gonggao")="系统暂无公告" 'gonggao 用来传递公告显示的东西
conn.close
set conn=nothing
else
set rs2=server.CreateObject("adodb.recordset")
sql2="select top 1 * from gonggao where sy="&gonggao_sy&" order by id desc"
rs2.open sql2,conn,1,3
if not rs2.eof then
session("gonggao")=rs("notice")
end if
end if
end if
%>
如果是这样运行,则得到的结果:ADODB.Recordset (0x800A0BB9)
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
请问这是什么原因?还有那个session(“gonggao”)的传递可以吗?
谢谢各位?
展开
 我来答
百度网友f4672095b
2011-10-14 · TA获得超过628个赞
知道小有建树答主
回答量:379
采纳率:80%
帮助的人:332万
展开全部
应该是你的where sy="&n&" order by id desc"中的n未赋值吧。
此外,不管你多少个if,数据库只要打开一次就够了,并且打开后记得关闭,关闭后就要重新打开才能操作。
<%
gonggao_sy=1
n=1 '你原来的n没有赋值
str="系统暂无公告!"

set rs=server.CreateObject("adodb.recordset")
sql1="select top 1 * from kongzhi where sy="&n&" order by id desc"
rs.open sq1,conn,1,1 '打开操作,后面参数用1,1
if not rs.eof then
if rs("gonggao_kongzhi")=1 then
session("gonggao")="系统暂无公告" 'gonggao 用来传递公告显示的东西
else
set rs2=server.CreateObject("adodb.recordset")
sql2="select top 1 * from gonggao where sy="&gonggao_sy&" order by id desc"
rs2.open sql2,conn,1,1
if not rs2.eof then
session("gonggao")=rs("notice")
end if
rs2.close
end if
end if
rs.close
conn.close
set conn=nothing
%>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式