|
|
 |
专题栏目 |
 |
 |
相关文章 |
 |
|
|
|
|
 |
自动生成插入,修改的SQL |
热 |
|
| 自动生成插入,修改的SQL |
|
作者:feng_sundy 文章来源:不详 点击数: 更新时间:2007-11-14 12:55:40  |
|
数据库设计的小网站,表单多而操作简单,一般就只有插入删除修改等操作。每次都要重复写插入修改的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 & """)) & " [1] [2] 下一页 |
|
| 文章录入:mintao 责任编辑:mintao |
|
|
上一篇文章: Access数据库与SQLserver2000的数据互导 下一篇文章: 如何在SQL中启用全文检索功能?(实例) |
|
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网] |
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| |
|
|
|
|