自动生成插入,修改的SQL[1]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 feng_sundy 的 blog

    数据库设计的小网站,表单多而操作简单,一般就只有插入删除修改等操作。每次都要重复写插入修改的sql,
是不是觉得很麻烦呢,我是这么觉得,所以,自己写了一个自动产生插入,修改的sql,就方便多了,一下是asp代码,
对access,sql server都适用。如果对你有帮助,可以拿去用用,还可以改进。

<%
dim tablename,strsql,rsfields,fieldscount,totalcount
dim insertsql,ifields,idatafields,updatesql,deletesql
dim keyfieldname,funquote
dim conn
dim dbpath
'sql server 连接字符串
'conn.open("driver={sql server};server=sundy;database=test;uid=sa;pwd=;")
set conn = server.createobject("adodb.connection")
'下面以access数据库为例
dbconn = "driver={microsoft access driver (*.mdb)};dbq=" & server.mappath("data/db.mdb")
conn.open dbconn

'表的主键字段名
keyfieldname = request.form("keyfield")
'用于过滤提交表单中的“'“的函数名
funquote = request.form("funquote")
'表名
tablename = request("tablename")
if request.form("subtable")<> "" then
    strsql = "select top 1 * from " & tablename
    set rsfields = server.createobject("adodb.recordset")
    rsfields.open strsql,conn,1,1
    fieldscount = rsfields.fields.count
    insertsql = """insert into " & tablename & "("" & _" & vbcrlf
    updatesql = """update " & tablename & set "" & _" & vbcrlf
    for i = 0 to fieldscount - 1
        if instr(",3,202,203,","," & rsfields.fields(i).type & ",") > 0 and ucase(rsfields.fields(i).name) <> ucase(keyfieldname) then
            ifields  = ifields & """" & rsfields.fields(i).name
            select case rsfields.fields(i).type
                case 3 'int
                    idatafields  = idatafields & """"" & request.form(""" & rsfields.fields(i).name & """) & """

本文关键:自动生成插入,修改的SQL
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top