仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4107|回复: 19
打印 上一主题 下一主题

[学习教程] ASP编程:ASP编程入门进阶(二十):ADO组件之修...

[复制链接]
飘灵儿 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-16 00:27:59 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。ado|编程|数据|ado   再来小总结一下:对数据库的操作不过就是显示纪录,拔出纪录,修正纪录,删除纪录,查询纪录。

而且在有关显示纪录的时分还触及到显示的输入格局、分页法式,那末再联合拔出纪录,一个复杂的旧事体系,文章体系,留言体系,注册上岸体系不成任何成绩。

上面就触及到办理这块,需求对数据库纪录停止修正。

起首,要修正哪条

修正,不是笼而统之的,而是要针对某条详细对响应修正。可以抽象地说,就是对数据库表中的详细哪一行停止详细的修正。
所以,这时候候的纪录集就有它特定的某个,固然这个次要仍是由SQL语句来决意的。

好比 sql="select * from table where id=1" 就暗示提取的id编号是1的那行的一切纪录,然后只需将该行中需求修正的字段赋以新值然后上传数据库就OK了。

一样的语句 sql="select * from table where id=2" 信任你也能分明。

但作为咱们在页面中,可不是就如许固定的,有可是选择某毗连,或输出某表单值……跳转到专门的修正页,如许一切的义务全在修正页上了,它所具有的SQL语句应当是顺应性强的

好比 sql="select * from table where id="&request.queyrstring("id")

其次,将要修正的对应赋值

很复杂,正如拔出纪录一样,将字段和值对应起来。

rs("cn_name")="cnbruce"
rs("cn_sex")="male"

对应的值固然也能够是某个变量或函数

最初,上传更新数据库

和拔出一样停止rs.updata ,其实察看上去,拔出新纪录和更新纪录只是多了rs.addnew这行的声明。

1,showit.asp
该文件是后面例中所创立援用的。其次要是显示的感化,那末如今,针对详细的某笔记录增添跳转到修正页的超等链接。


<%
For i = 1 to rs.PageSize '使用for next 轮回顺次读出以后页的纪录
if rs.EOF then
Exit For
end if
response.write("<a href=change.asp?id="& rs("cn_id") &">修正</a>")
response.write("文章题目是:"& rs("cn_title"))
response.write("<br>文章作者是:"& rs("cn_author"))
response.write("<br>文章到场工夫是:"& rs("cn_time"))
response.write("<br>文章内容是:"& rs("cn_content"))
response.write("<hr>")
rs.MoveNext
Next
%>



注重response.write("<a href=change.asp?id="& rs("cn_id") &">修正</a>")

前面的参数id的值则是静态的,那接着就看chang.asp的本事了。

2,change.asp



<!--#include file="conn.asp" -->
<%
id=request.querystring("id")
%>

<%if request.form("submit")="change" then
whattitle=request.form("title")
whoauthor=request.form("author")
whatcontent=request.form("content")
id=request.form("id")
Set rs = Server.CreateObject ("ADODB.Recordset")
sql = "Select * from cnarticle where cn_id="&id
rs.Open sql,conn,3,2
rs("cn_title")=whattitle
rs("cn_author")=whoauthor
rs("cn_content")=whatcontent
rs.update
rs.close
Set rs = Nothing
conn.close
set conn=Nothing
response.redirect("showit.asp")
response.end
%>
<%end if%>

<%
if id<>"" then
Set rs = Server.CreateObject ("ADODB.Recordset")
sql="select * from cnarticle where cn_id="&id
rs.Open sql,conn,1,1
whattitle=rs("cn_title")
whoauthor=rs("cn_author")
whatcontent=rs("cn_content")
end if
%>
<form action="change.asp" method="post">
Title:<input type="text" name="title" value=<%=whattitle%>><br>
Author:<input type="text" name="author" value=<%=whoauthor%>><br>
Content:<br>
<textarea name="content" rows="8" cols="30"><%=whatcontent%></textarea><br>
<input type="submit" value="change" name="submit">
<input type="reset" value="Reset">
<input name="id" type="hidden" value="<%=id%>">
</form>




固然一切的审查,平安防护都还没做,BUG多多,本人也来渐渐处理。

别的一类的修正更新


<%if request.form("submit")="change" then
whattitle=request.form("title")
whoauthor=request.form("author")
whatcontent=request.form("content")
id=request.form("id")

sql = "update cnarticle set cn_title='"&whattitle&"',cn_author='"&whoauthor&"',cn_content='"&whatcontent&"' where cn_id="&id
conn.Execute(sql)
conn.close
set conn=Nothing
response.redirect("showit.asp")
response.end
%>

</p>  缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-5 21:57

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表