关于本文:
本着互联网共享主义精神,特写此文献给建站新手,授人以鱼,不如授人以渔,有人看完后,可能会觉得代码不太完善,因为发表本文的目地,是向大家介绍实现的原理,而不是给大家一套完整的程序,希望大家看完此文,能够从中得到些帮助和启发。
本文用最精简的实例介绍了一种实现显示、添加、修改、删除的比较简便的方法,虽然是以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.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,",")