原創 自動生成插入,修改的SQL

2021-03-31 08:56:31 字數 3515 閱讀 3377

sundy原創 2004-11-02

資料庫設計的小**,表單多而操作簡單,一般就只有插入刪除修改等操作。每次都要重複寫插入修改的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=;server=sundy;database=test;uid=sa;pwd=;")

'表的主鍵欄位名

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

ifinstr(",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

endif

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

ifconn.close()

set conn = nothing

%>

表名:"tablename" type="text" id="tablename" value="product_research">

關鍵字字段:"keyfield" type="text" id="keyfield" value="pf_id">

過濾「'」函式:"funquote" type="text" id="funquote" value="fixquote">"subtable" type="submit" id="subtable" value="submit">

insert sql:

<% response.write("

")%>

update sql:

<% response.write("

")%>

form>

實體類自動生成SQL插入執行語句

乙個簡單的根據實體類自動生成sql插入語句的例子 using system using system.collections.generic using system.collections.specialized using system.text using system.reflection ...

JDBC插入或修改的sql

merge into xi price a using select 108615 catentry id,101514 store id,1454.00 listprice,8.00 price,6.0 discount,updatetime,labelimg,labelposition,9.00...

關於SQL語句的自動生成!(一)

作者 peterxu blog.csdn blog http blog.csdn.net peterreg 在我們的日常程式設計中,資料庫的程式基本上都要與sql語句打交道,sql語句的編寫不可避免的成為乙個頭疼的工作。且因為sql語句是string型別,因此在編譯階段查不出錯,只有到執行時才能發現...