欢迎光临
我们一直在努力

自动生成插入,修改的SQL-ASP教程,数据库相关

建站超值云服务器,限时71元/月

数据库设计的小网站,表单多而操作简单,一般就只有插入删除修改等操作。每次都要重复写插入修改的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 & """) & """

updatesql = updatesql & """" & rsfields.fields(i).name & "="" & request.form(""" & rsfields.fields(i).name & """) & """

case 202 char

idatafields = idatafields & """"" & " & funquote & "(request.form(""" & rsfields.fields(i).name & """)) & """

updatesql = updatesql & """" & rsfields.fields(i).name & "="" & " & funquote & "(request.form(""" & rsfields.fields(i).name & """)) & """

case 203 text

idatafields = idatafields & """"" & " & funquote & "(request.form(""" & rsfields.fields(i).name & """)) & """

updatesql = updatesql & """" & rsfields.fields(i).name & "="" & " & funquote & "(request.form(""" & rsfields.fields(i).name & """)) & """

end select

ifields = ifields & ", "" & _" & vbcrlf

idatafields = idatafields & ","" & _ " & vbcrlf

updatesql = updatesql & ","" & _ " & vbcrlf

end if

next

ifields = mid(ifields,1,len(ifields) – 9)

idatafields = mid(idatafields,1,len(idatafields) – 9)

insertsql = insertsql & ifields & ") values ("" & _" & vbcrlf & idatafields & ")"""

updatesql = mid(updatesql,1,len(updatesql) – 9) & """ & _ " & vbcrlf & """ where " & keyfieldname & "="" & request.querystring(""" & keyfieldname & """)"

end if

conn.close()

set conn = nothing

%>

<html>

<head>

<meta http-equiv="content-type" content="text/html; charset=gb2312">

<title>自动生成插入,修改sql</title>

<style type="text/css">

body {

font-family: "宋体",arial;

font-size: 9pt;

color: #0000ff;

background-color: #eeeeee;

}

</style>

</head>

<body>

<form name="tableopreate" action="?" method="post">

表名:<input name="tablename" type="text" id="tablename" value="product_research"><br>

关键字字段:<input name="keyfield" type="text" id="keyfield" value="pf_id"><br>

过滤“”函数:<input name="funquote" type="text" id="funquote" value="fixquote"><input name="subtable" type="submit" id="subtable" value="submit"><br>

insert sql:<br><% response.write("<textarea name=""textarea"" cols=""60"" rows=""10"">" & insertsql & "</textarea><br>")%>

update sql:<br><% response.write("<textarea name=""textarea"" cols=""60"" rows=""10"">" & updatesql & "</textarea><br>")%>

</form>

</body>

</html>

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 自动生成插入,修改的SQL-ASP教程,数据库相关
分享到: 更多 (0)

相关推荐

  • 暂无文章