青松云安全马杰:asp recordset

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 13:02:40
dim rs
dim sqlstr_all
set rs= Server.CreateObject("adodb.recordset")
sqlstr_all="select * from 总表 where 中文名称='"&s&"'"
rs.open sqlstr_all ,conn , 3 , 2
if rs.eof then
Response.Write "数据库正在建设中,暂无相关信息"
rs.close
set rs=nothing
else
dim kind
kind=rs("等级")
rs.close
set rs=nothing
<%if kind="种" then
response.write "00000"
else
response.write "11111"
end if%>

本来我想输出00000
却输出11111
这是怎么回事
哪里错了
怎么实现输出00000

添加一条新记录是通过RecordSet对象的Addnew方法实现的,还是通过执行SQL语句中的insert语句也可以添加新记录,为何不选用后者呢?二者有何区别呢?

从本质上说,ADO的Addnew方法只是将“Insert into”语句封装了起来,所以,直接使用SQL语句将会大大加快存取数据的速度,因为他减少了ADO的“翻译”时间,尤其当对大量数据进行操作的时候表现得更为明显。但是直接使用SQL语句的缺点:不能传递太长的字段内容,在向数据库中IMAGE字段加入数据时,长文本数据时,就需要使用Addnew了。此外,当字段比较多时SQL语句将会很长而导致不易排错,推荐有经验的编程者优先考虑。

相比较而言,RecordSet对象的Addnew方法首先需要建立一个可更新的RecordSet对象,并且一直保持到Update结束,所以比较消耗系统资源。不过它的优点是灵活性比较好,代码容易阅读,除错方便,推荐新手使用。

首先有一个基本问题
IF...ELSE....END IF
楼主的是
if
.....
else
.....
if
....
else
...
end if
这里应该错。
另外如果还是输出不对的话。你这样修改下代码,判断下KIND的值
<%if kind="种" then
response.write "00000"
response.write "kind"
response.end
else
response.write "11111"
response.write "kind"
response.end
end if%>

if kind="种" then
问题出在这里,kind里保存着从数据库中读出的内容,应该检查你的数据库啊,看看里面存储的是不是“种”呢?

在后面的if语句前面先输出rs("等级")看看

说明rs取得的"等级"不是"种"

no