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

数据|数据库|显示

  关于本文:

  本着互联网共享主义精神,特写此文献给建站新手,授人以鱼,不如授人以渔,有人看完后,可能会觉得代码不太完善,因为发表本文的目地,是向大家介绍实现的原理,而不是给大家一套完整的程序,希望大家看完此文,能够从中得到些帮助和启发。

  本文用最精简的实例介绍了一种实现显示、添加、修改、删除的比较简便的方法,虽然是以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="""&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>

  asp版完整实例代码+数据库

时间: 2024-11-03 17:11:20

数据库实现显示、添加、修改、删除的最简单的方法及实例的相关文章

asp批量添加修改删除操作示例代码

核心代码: <title>asp批量添加修改删除操作示例</title> <% if request.Form("op")="update" then'表单提交 ids=request.Form("ids") if ids<>"" then response.Write "要删除的数据id集合:"&ids&"<br>"

xml文件的读写,添加,修改,删除操作

xml文件的读写,添加,修改,删除操作 using system; using system.collections; using system.componentmodel; using system.data; using system.drawing; using system.web; using system.web.sessionstate; using system.web.ui; using system.web.ui.webcontrols; using system.web.

xpath对ajax的完全操作,添加修改删除xml节点

提示:您可以先修改部分代码再运行 <!-----------------小马哥xpath对ajax的完全操作,添加修改删除xml节点---------------------> <button onclick="alert(xml.lookxml())" id=button1 name=button1>查看XML标签</button> <hr> 添加节点:姓名:<input type=text id="name"

ado.net添加修改数据有什么简单的办法

问题描述 ado.net添加修改数据有什么简单的办法 看了几天ado.net也有点迷迷糊糊.过来请教各位一下. 从以前ado转过来的,目标是access数据库. 以前ado添加修改数据库都是. rs.Open("select * from 表 where 条件) rs.addNew()(如果需要添加的话,判断,rs返回记录数是不是=0就知道了) rs("字段").value=xxx rs("字段").value=xxx rs.update rs.close

利用jQuery来动态为属性添加或者删除属性的简单方法_jquery

现在做的项目有这样一个需要: 先看图吧^^   要求: 1.当点击导出Excel方式的时候,如果是"勾选导出"或"不分页导出"时,下面的文本框不能修改 2.当点击"分页导出"时,第一个文本框中的值可以被修改,但第二个文本框中的值不可以手动修改,但会随着第一个文本框中输入的值不断变化 实现: 这个页面我就不说怎么做的了,咱们看重点,如何来实现动态的增加属性值: function changeAttr(){ //onchange事件 添加和去除只读属

Jquery实现select multiple左右添加和删除功能的简单实例_jquery

项目要实现这样的一个功能(如下图所示):选择左边下拉列表框中的选项,点击添加按钮,把选择的选项移动到右边的下拉列表框中,同样的选择右边的选项,点击删除按钮,即把选择的选项移动到左边的下拉列表框中.相信用js很多朋友都写过,下面是我用jQuery来实现这样的功能的. 具体代码如下: <center> <table> <tr align="center"> <td colspan="3"> 选择 </td> &

php批量删除cookie的简单实现方法_php技巧

本文实例讲述了php批量删除cookie的简单实现方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <?php //删除单个cookie:键值设置为空.时间设置为过期了的时间 setCookie("name","",time()-60); //删除多个cookie,采用遍历数组方式 foreach($_COOKIE as $key=>$value){  setCookie($key,"",time()-60); }

Excel 2007怎么隐藏显示和修改删除

  熟悉使用Word文档的朋友,对文档中添加批注的操作应该并不陌生.批注不仅可以帮助阅读者更好地了解该段文字的相关评价,而在Excel表格中,我们也是可以进行对单元格批注的,我们来了解下步骤. 1.隐藏单元格批注 在Excel2007中为了能够随单元格一起显示或隐藏批注,可以选择包含批注的单元格,然后单击"审阅"选项卡上"批注"组中的"显示/隐藏批注",如图所示. 隐藏单元格批注 提示:如果当前状态为显示,单击则变为隐藏,再单击则为显示. 2.编

WinXP恢复控制面板里显示“添加或删除程序”图标

前2天休息无聊的时候,想把系统重新整一下,于是就下载了一个最新版的浩海GHOSTXP三周年版.装的很快,而且是纯净版,很好很强大,不带乱七八糟的软件.不过一个小的问题,让我比较恼火,"添加或删除程序"图标在控制面板里找不到. 那个"添加或删除程序"图标在标准模式下查看有,但是由于我习惯用经典模式显示控制面板里的图标,这里面少了这样一个比较重要的东西,让我实在有些感到恼火.当时网站上查找了一些办法,有用组策略的,我试过没有任何效果.有的直接用运行appwiz.cpl,