仓酷云

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

[学习教程] ASP网页设计数据库完成显示、添加、修正、删除的最...

[复制链接]
跳转到指定楼层
楼主
发表于 2015-2-3 23:30:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
asp可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。使用各种各样的组件,asp可以完成无比强大的功能。数据|数据库|显示     关于本文:
  本着互联网同享主义精力,特写此文献给建站老手,授人以鱼,不如授人以渔,有人看完后,能够会感觉代码不太完美,由于宣布本文的目地,是向人人引见完成的道理,而不是给人人一套完全的法式,但愿人人看完此文,可以从中失掉些匡助和启示。
  本文用最精简的实例引见了一种完成显示、添加、修正、删除的对照简捷的办法,固然是以ASP例子引见,但一样合用于PHP、JSP、ASP.NET等言语。文顶用到了javascript剧本,人人也可从中学到局部的javascript常识。
  由于近几天任务太忙,就不祥细的写道理文章了,我在代码外面写的正文十分清晰,信任懂点网页编程的伴侣应当都可以看懂。
  声明:但愿列位伴侣转载时,不要把原有作者版权去失落,感谢协作。
  因为自己写作程度无限,写的欠好的中央,还请人人多多包容,如要品评或定见,请加我QQ。
  以下注释入手下手:
  功效引见:
  平常良多人最少需求做三个表单才干完成数据的显示、添加、修正、删除,本文讲的是只用一个添加表单,便可完成数据的显示、添加、修正、删除功效。用此办法写法式时,最少可以省两倍的精神。
  完成例子:
  例子申明:
数据库名:db.mdb
表名:pub_doc
字段:id和memo1-----memo30 (几何个字段人人可以本人设置)
公用局部:
公用局部,可以存成单个文件,用include挪用。
<%
'数据库毗连
db="db.mdb"
set conn=server.createobject("adodb.connection")
conn.open "provider=microsoft.jet.oledb.4.0;data source="& server.mappath(db)
'宣布工夫:2005年12月30日 晚
'文章作者:翟振凯 (小琦)
'团体站:http://www.xiaoqi.net   
'手艺站:http://www.iisvs.net
'贸易站:http://www.iisvs.com
'服装论坛站:http://www.tdqy.com
'QQ:53353866 22336848
'添加数据函数
function add_form(sl)'添加数据函数
'response.write request("act")
'response.end
if request("act")="add_save" and sl<>"" then
'------------------生成SQL语句----------------小琦
'--------轮回memo
                        For i = 1 To sl
                                zd_name=zd_name&"memo"&i&","
                        if request("memo"&i&"")<>"" then                                
                                zd_value=zd_value&"'"&request("memo"&i&"")&"'"&","
                        else
                                zd_value=zd_value&"'"&null&"'"&","
                        end if                        
                        next
'//--------轮回memo
'去失落最初的“,”
zd_name=left(zd_name,len(zd_name)-1)
zd_value=left(zd_value,len(zd_value)-1)
sql="Insert into pub_doc("&zd_name&")values("&zd_value&")"
'//------------------生成SQL语句----------------小琦
conn.execute(sql)
response.write "添加数据胜利!"
Response.End
end if
end function
'修正数据函数
function edit_form(sl)'修正数据函数
if request("id")<>"" and request("act")="edit_save" and sl<>"" then
'------------------生成SQL语句----------------小琦
               
'--------轮回memo
                zd_name="" '字段名子
                        For i = 1 To sl
                                zd_name=zd_name&"memo"&i&"="
                        if request("memo"&i&"")<>"" then                                
                                zd_name=zd_name&"'"&request("memo"&i&"")&"'"&","
                        else
                                zd_name=zd_name&"'"&null&"'"&","
                        end if                        
                        next
'//--------轮回memo
'去失落最初的“,”
zd_name=left(zd_name,len(zd_name)-1)
'//------------------生成SQL语句----------------小琦
sql="Update pub_doc set "&zd_name&" where id="&request("id")&""
conn.execute(sql)
response.write "修正胜利!"
Response.End()
end if
end function
function read_edit_form(sl)'修正前读取数据函数
if request("id")<>"" and request("act")="edit" and sl<>"" then'读取要修正的数据
'------------------生成SQL语句----------------小琦
                        zd_name="" '字段名子
'--------轮回memo
                        For i = 1 To sl
                                zd_name=zd_name&"memo"&i&","        
                        next
'//--------轮回memo
'去失落最初的“,”
zd_name=left(zd_name,len(zd_name)-1)
sql="select top 1 "&zd_name&" from pub_doc where id="&request("id")&""
'//------------------生成SQL语句----------------小琦
set rs = conn.execute(sql)'查询
response.write "<script language=javascript>"'写javascript的剧本
response.write "function read_data(){"'
'--------轮回赋值
                        for each i in split(zd_name,",")
                                response.write "frm."&i&".value="""&WordStr(WordStr(WordStr(rs(i)&"||",chr(13),"\n"),chr(10),"\n"),"||","")&""";"'
                        next
'//--------轮回赋值
response.write "}</script>"
end if
end function
function read_form(sl)'读取数据函数
if request("id")<>"" and request("act")="" and sl<>"" then'读取要检查的数据
'------------------生成SQL语句----------------小琦
'--------轮回memo
                        For i = 1 To sl
                                zd_name=zd_name&"memo"&i&","        
                        next
'//--------轮回memo
'去失落最初的“,”
zd_name=left(zd_name,len(zd_name)-1)
sql="select top 1 "&zd_name&" from pub_doc where id="&request("id")&""
'//------------------生成SQL语句----------------小琦
set rs = conn.execute(sql)'查询
response.write "<sc"+"ript language=javascript>"'写javascript的剧本
response.write "function read_data(){"'
'--------轮回赋值
                        for each i in split(zd_name,",")
                        if rs(i)="" then kongge=" "'假如内容为空,则用空格取代
                                response.write "frm."&i&".parentElement.innerText="""&rs(i)&kongge&""";"'
                        next
'//--------轮回赋值
response.write "}</scr"+"ipt>"
end if
end function
function del()'删除数据
if request("id")<>"" and request("act")="del" then
conn.execute("Delete from pub_doc where id="&request("id")&" ")
response.write "删除胜利!"
response.end
end if
end function
function xiaoqi_end()
if request("id")<>"" and request("act")="" then response.write "<sc"+"ript language=javascript>frm.save.removeNode(true);read_data()</sc"+"ript>"
if request("id")<>"" and request("act")="edit" then response.write "<sc"+"ript language=javascript>read_data()</sc"+"ript>"
session("act")=""
end function
function get_act(sl)
add_form       sl
edit_form      sl
read_edit_form sl
read_form      sl
del
end function
'设置举措
if request("act")="add" then session("act")="add_save"
if request("act")="edit" then session("act")="edit_save"
%>
  挪用实例
<%get_act("26")‘利用了26个字段%>
<% if request("act")<>"" or request("id")<>"" then’假如不是显示列表页面%>
<p> </p>
<form method="POST" action="index.asp" name="frm">
        <div align="center">
                <table border="1" width="600" id="table2" bordercolorlight="#000000" cellspacing="0" cellpadding="0" bordercolordark="#FFFFFF" style="text-align: center">
                        <tr>
                                <td width="149">数据表</td>
                                <td width="149"><input type="text" name="memo1"></td>
                                <td width="150"><input type="text" name="memo2"></td>
                                <td width="150"><input type="text" name="memo3"></td>
                        </tr>
                        <tr>
                                <td width="149"><input type="text" name="memo4"></td>
                                <td width="149"><input type="text" name="memo7"></td>
                                <td width="150"><input type="text" name="memo6"></td>
                                <td width="150"><input type="text" name="memo5"></td>
                        </tr>
                        <tr>
                                <td width="149"><input type="text" name="memo9"></td>
                                <td width="149"><input type="text" name="memo10"></td>
                                <td width="150"><input type="text" name="memo11"></td>
                                <td width="150"><input type="text" name="memo12"></td>
                        </tr>
                        <tr>
                                <td width="149"><input type="text" name="memo16"></td>
                                <td width="149"><input type="text" name="memo15"></td>
                                <td width="150"><input type="text" name="memo14"></td>
                                <td width="150"><input type="text" name="memo13"></td>
                        </tr>
                        <tr>
                                <td width="149"><input type="text" name="memo17"></td>
                                <td width="149"><input type="text" name="memo18"></td>
                                <td width="150"><input type="text" name="memo19"></td>
                                <td width="150"><input type="text" name="memo20"></td>
                        </tr>
                        <tr>
                                <td width="149"><input type="text" name="memo24"></td>
                                <td width="149"><input type="text" name="memo23"></td>
                                <td width="150"><input type="text" name="memo22"></td>
                                <td width="150"><input type="text" name="memo21"></td>
                        </tr>
                        <tr>
                                <td width="149"><input type="text" name="memo25"></td>
                                <td width="149"><input type="text" name="memo26"></td>
                                <td width="150"><input type="text" name="memo8"></td>
                                <td width="150"><input type="submit" value="提交" name="save"></td>
                        </tr>
                </table>
        </div>
<input type="hidden" name="id" value="<%=request("id")%>">
<input type="hidden" name="act" value="<%=session("act")%>">
</form>
<p> </p>
<%
xiaoqi_end()
else%>
<p align="center"><a href="?act=add">添加</a></p>
<div align="center">
        <table border="1" width="600" id="table1" bordercolorlight="#000000" cellspacing="0" cellpadding="0" bordercolordark="#FFFFFF" style="text-align: center">
                <tr>
                        <td width="142">字段1</td>
                        <td width="142">字段2</td>
                        <td width="143">字段3</td>
                        <td width="63">检查</td>
                        <td width="63">修正</td>
                        <td width="63">删除</td>
                </tr>
<%
set rs=server.createobject("adodb.recordset")  
sql = "select * from pub_doc order by id desc "
rs.open sql,conn,1,1
do while not rs.eof
%>               
                <tr>
                        <td width="142"> <%=rs("memo1")%></td>
                        <td width="142"> <%=rs("memo2")%></td>
                        <td width="143"> <%=rs("memo3")%></td>
                        <td width="63"><a href="?id=<%=rs("id")%>">检查</a></td>
                        <td width="63"><a href="?id=<%=rs("id")%>&act=edit">修正</a></td>
                        <td width="63"><a href="?id=<%=rs("id")%>&act=del">删除</a></td>
                </tr>
<%
rs.MoveNext                                             
loop %>
        </table>
</div>
<%end if%>
  再给人人一个我原创的用javascript将文本框转换为文本的例子,信任良多人城市用到。人人存成html文件翻开便可看到后果。
  道理:从文本框中取值,把值赋于文本框的父对象。
<script language=javascript>
function read_data(){
frm.memo1.parentElement.innerText="1";
frm.memo2.parentElement.innerText="2";
frm.memo3.parentElement.innerText="3";
}</script>
<p> </p>
<form method="POST" action="index.asp" name="frm">
<div align="center">
<table border="1" width="600" bordercolorlight="#000000" cellspacing="0" cellpadding="0" bordercolordark="#FFFFFF" style="text-align: center">
<tr>
<td width="149">数据表</td>
<td width="149"><input type="text" name="memo1"></td>
<td width="150"><input type="text" name="memo2"></td>
<td width="150"><input type="text" name="memo3"></td>
</tr>
</table>
<p><input type="submit" value="提交" name="save"></div>
</form>
<script language=javascript>frm.save.removeNode(true);read_data()</script>
  asp版完全实例代码+数据库帮助用户快速实现各种应用服务,ASP商有整合各方面资源的能力,可在短期内为用户提供所需的解决方案。例如,典型的ERP安装,如果要在客户端安装的话需要半年到二年的时间,但是美国的一些ASP商如USI和CORIO能在90—120天内提供ERP应用方案。
飘飘悠悠 该用户已被删除
沙发
发表于 2015-2-4 00:16:42 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
冷月葬花魂 该用户已被删除
板凳
发表于 2015-2-9 08:23:01 | 只看该作者
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
再现理想 该用户已被删除
地板
发表于 2015-2-9 19:46:10 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
爱飞 该用户已被删除
5#
发表于 2015-2-11 08:07:42 | 只看该作者
掌握asp的特性而且一定要知道为什么。
飘灵儿 该用户已被删除
6#
发表于 2015-2-17 22:30:28 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
金色的骷髅 该用户已被删除
7#
发表于 2015-3-5 23:15:44 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
不帅 该用户已被删除
8#
发表于 2015-3-12 16:35:34 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
蒙在股里 该用户已被删除
9#
发表于 2015-3-17 08:10:23 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
小妖女 该用户已被删除
10#
发表于 2015-3-20 09:52:27 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
若天明 该用户已被删除
11#
发表于 2015-3-28 21:33:50 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
活着的死人 该用户已被删除
12#
发表于 2015-3-30 23:35:09 | 只看该作者
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
小魔女 该用户已被删除
13#
发表于 2015-4-24 02:32:58 | 只看该作者
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
愤怒的大鸟 该用户已被删除
14#
发表于 2015-4-27 19:56:59 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
透明 该用户已被删除
15#
发表于 2015-4-28 13:48:51 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
再见西城 该用户已被删除
16#
发表于 2015-5-3 06:42:54 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
深爱那片海 该用户已被删除
17#
发表于 2015-5-6 16:11:39 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
18#
 楼主| 发表于 2015-6-16 00:54:00 | 只看该作者
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
山那边是海 该用户已被删除
19#
发表于 2015-6-21 21:43:05 | 只看该作者
Session:这个存储跟客户端会话过程的数据,默认20分钟失效
分手快乐 该用户已被删除
20#
发表于 2015-6-23 23:03:58 | 只看该作者
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-29 20:33

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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