您的位置:首页 > 数据库

自动生成Insert Into 的SQL语句

2009-07-20 15:24 525 查看
<%
'自动根据数据库表结构,输出INSERT SQL 语句
'已过滤ID自动编号字段
dim ip,uid,pwd,database
dim conn,rs,sql
ip="(local)"
uid="sa"
pwd="hello"
database="vcp"
call openconn()
call showSQL("A_User_Level_Price",16,10)
'call showSQL("ipTable",0,50000)
'call showSQL("HostCheck",0,50000)
'call showSQL("URL",0,5)
closeme(rs)
closeme(conn)
'打开表并输出INSERT SQL
'	table:    表名
'	id:	     记录ID
'    num:      显示条数
sub showSQL(table,id,num)
dim i,insql,fieldcount
set rs=server.CreateObject("adodb.recordset")
if num<>0 then sql="select top "&num else sql="select"
if id<>0 then
sql=sql&" * from "&table&" where UserID='root'"
else
sql=sql&" * from "&table
end if
'	sql=sql&" ORDER BY ID ASC"
'	response.write sql : response.end
rs.open sql,conn,1,1

fieldcount=rs.fields.count-2
insql="INSERT INTO "&table&"("
for i=1 to fieldcount
'    if rs.fields(i).name="Money1" Then Response.write rs(i).type:response.end
insql=insql&rs.fields(i).name&","
next
insql=insql&rs.fields(i).name&") VALUES("

do while not rs.eof
response.write insql
for i=1 to fieldcount
'			response.Write "||"&rs(i).type&"||"
if instr("/135/129/200/201/202/203/","/"&rs(i).type&"/") then
response.Write "'"&trim(rs(i))&"',"
elseif isnull(rs(i)) then
response.Write "NULL,"
else
response.Write trim(rs(i))&","
end if
next

if instr("/135/129/200/201/202/","/"&rs(i).type&"/") then
response.Write "'"&rs(i)&"')"
elseif isnull(rs(i)) then
response.Write "NULL)"
else
response.Write trim(rs(i))&")"
end if

response.write vbcrlf
rs.movenext
loop
end sub
'连接数据库
sub openconn()
connstring = "Driver={SQL Server};Server="&ip&";Uid="&uid&";Pwd="&pwd&";Database="&database
Set conn = Server.CreateObject("Adodb.Connection")
conn.open connstring
If err Then
response.Clear()
Response.Write "Error:"&err.description
err.Clear
Set conn = Nothing
Response.End
End If
end sub
'关闭对象
sub closeme(obj)
obj.close
set obj=nothing
end sub
%>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐