由于数据库中的每张表中的字段名不一样,所以在写后台程序的时候,通常会写多个页面,对应不同的表。这里介绍一个函数,适合所有的表,不需要再为每一个表写添加,删除,修改页面了,这样会省下许多时间去做别的事。
<%
'===========================================
' 函数功能:实现向数据库中任何表中添加、删除、修改内容
' 作 者:wangsdong
' 网 站: http://www.aspprogram.cn
' 文章为作者原创,转载请注明文章出处、保留作者信息,谢谢支持!
' 参数意义:tablename为表名,str的值是insert,delete,update 表示
' 要执行的语句是添加、删除、修改。id为自动编号类型字段,使用方
' 法见举例
'===========================================
Function add_del_update(tablename,str,id)
Select Case str
Case "insert":
sql="select * from ["&tablename&"] where id=null"
rs.open sql,conn,1,3
rs.addnew
For Each key In request.Form
rs(CStr(key))=request(key)
Next
rs.update
rs.close
Case "update":
sql="select * from ["&tablename&"] where id="&id
rs.open sql,conn,1,3
For Each key In request.Form
if key<>"id" then
rs(CStr(key))=request(key)
end if
Next
rs.update
rs.close
Case "delete":
sql="delete from ["&tablename&"] where id in("&id&")"
rs.open sql,conn,1,3
Case ""
End Select
End Function
%>
使用前提条件:表中必须有一个字段名为id的自动增加类型的字段提交前的表单名必须和数据库中的字段名一样,且按纽不可以使用name属性。
<%
' 向table1表中添加一条记录
call add_del_update("table1","insert","")
' 修改table1表中的id=5(id放在上一页action中,也可以是隐藏表单)的记录
id=request("id")
call add_del_update("table1","update",id)
' 删除table1表中的一些记录,id是上一页action中,也可以是某一表单
id=request("id")
call add_del_update("table1","delete",id)
%>