艺术迷(fansart.com) 首页 收藏本站 RSS频道
艺术迷首页 -> 网页设计 -> 数据库实现显示、添加、修改、删除的最简单的方法及实例
2006-3-2   作者:佚名   来源:
页面功能: 【评论】有错就点】 【字体: 】 【打印】 【关闭【收藏本页】

数据库实现显示、添加、修改、删除的最简单的方法及实例
(asp 实现数据库显示、添加、修改、删除)



功能介绍:

  平时很多人至少需要做三个表单才能实现数据的显示、添加、修改、删除,本文讲的是只用一个添加表单,
就可实现数据的显示、添加、修改、删除功能。用此方法写程序时,至少可以省两倍的精力。

  实现例子:

  例子说明:

数据库名: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="""&Replace(Replace(Replace(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>

网友评论
发表评论
您的姓名: 匿名发送
电子邮件:
评论内容:
不能超过100个字符



所有留言只代表网友个人观点,不代表本站观点。
请各位遵纪守法并注意语言文明。
新闻搜索
关 键 词:
搜索范围:
全站精华
图文精彩
清风楼书(一)[图]--平面广告
【2006-3-29 10:52:08】
清风楼书(一)
古典楼书(精品欣赏)(1)[图]--平面广告
【2006-4-5 15:03:08】
古典楼书(精品欣赏)(1)
美国插画师kevindart作品(1)[图]--CG插画
【2006-4-11 15:34:43】
美国插画师kevindart作品(1)
美国插画师kevindart作品[图]--CG插画
【2006-4-11 15:37:32】
美国插画师kevindart作品
荷兰著名画家Anton
【2006-4-11 15:49:41】
荷兰著名画家Anton Pieck插画
非常可爱的儿童插画(1)[图]--CG插画
【2006-4-11 15:59:16】
非常可爱的儿童插画(1)
回忆紫禁城里那些逝去的[图]--中国艺术
【2006-4-11 16:34:31】
回忆紫禁城里那些逝去的
国粹京剧脸谱表情[图]--界面设计
【2006-4-11 17:51:33】
国粹京剧脸谱表情
高傲的玫瑰-温碧霞[图]--摄影艺术
【2006-4-12 8:58:34】
高傲的玫瑰-温碧霞
北邦插画欣赏(1)[图]--CG插画
【2006-4-13 9:49:02】
北邦插画欣赏(1)
yashasi插画作品欣赏[图]--CG插画
【2006-4-13 18:32:29】
yashasi插画作品欣赏
cg插画欣赏[图]--CG插画
【2006-4-14 9:21:18】
cg插画欣赏
溯源居广告欣赏--小红人[图]--平面广告
【2006-4-14 14:45:57】
溯源居广告欣赏--小红人
泊林花园推广故事绘本(1)[图]--CG插画
【2006-4-20 11:34:33】
泊林花园推广故事绘本(1)
泊林花园推广故事绘本(2)[图]--CG插画
【2006-4-20 11:43:23】
泊林花园推广故事绘本(2)
万科西山庭院.格.沉.尊[图]--平面广告
【2006-4-21 9:08:35】
万科西山庭院.格.沉.尊
水木清华地产广告欣赏[图]--平面广告
【2006-4-26 9:31:54】
水木清华地产广告欣赏