使用方法:儲存為ASPTools.hta然後再運行
複製代碼 代碼如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta name="author" content="柳永法" />
<title>ASP協助工具輔助</title>
<style>body{ font-size:12px}</style>
<HTA:APPLICATION
ID="ASPTools"
APPLICATIONNAME="ASPTools"
SCROLL="no"
SINGLEINSTANCE="yes"
WINDOWSTATE="normal"
>
</head>
<body>
<div>
<input type="file" id="txtFile" onchange="CreateTableSelect('ACCESS')" style="display:none" />
IP:<input type="text" name="IP" size="16" style="border:1px solid green" value=".\sql2005" />
登入名稱:<input type="text" name="UserID" size="10" style="border:1px solid green" value="sa" />
密碼:<input type="password" name="pwd" size="10" style="border:1px solid green" value="yongfa365" />
資料庫名:<input type="text" name="dbname" size="10" style="border:1px solid green" value="hb605-8-8" /><br />
<input name="button2" type="button" id="button2" style="border:1px solid green" onclick="CreateTableSelect
('MSSQL')" value="串連SQL資料庫" />
<input type="button" id="btnFromFile" onclick="txtFile.click()" value="串連ACCESS資料庫" style="border:1px solid
green" />
<span id="Tables" ></span>
<hr />
模板:
<input type="text" id="opt" value="" size="40" />
<select size="1" id="fz" onchange="opt.value=this.value" style="width:200px"></select>
<input name="button" type="button" id="button" onclick="c()" value="轉換" style="border:1px solid green">
<hr />
<textarea id="s" rows="10" cols="80" style="width:98%"></textarea>
<input type="button" onclick="MadeSQL()" value="產生SQL語句" style="border:1px solid green" />
<textarea id="d" rows="10" cols="80" style="width:98%"></textarea>
</div>
<pre id="SQLDEMO" style="display:none" intro="通用建表結構">
--通用建表結構
Create Table [dbo].[tablename] (
[ID] int primary key identity(1,1),--ID,主鍵,自動號
[txtTitle] varchar(255),--標題
[txtContent] text,--內容
[PutTime] datetime Default (getdate()),--提交時間
[ModiTime] datetime Default (getdate()),--修改時間
[Hits] int Default (0),--點擊數
[Flags] int Default (0) ,--標識
[OrderID] int Default (0),--排序號
)
</pre>
<pre id="sDemo" style="display:none" intro="初始源測試資料">
UserName
Password
Sex
TrueName
Age
Tel
MSN
QQ
Email
</pre>
<pre id="fzDemo" style="display:none" intro="輔助輸入">
輔助輸入
rs("$1") = Request("$1")
rs("$1") = SafeRequest("$1")
$1 = Request("$1")
$1 = SafeRequest("$1")
<tr><td>$1:</td><td><input type="text" name="$1" size="20"></td></tr>
</pre>
<hr />
建議查看源檔案然後儲存為ASPTools.hta然後再運行
<script language="VBScript" type="text/vbscript">
self.Focus()
self.ResizeTo 620, 520
'初始化資料
s.Value = sDemo.innerHTML
fzs = Split(fzDemo.innerHTML, vbCrLf)
For Each optTemp In fzs
Set o = document.createElement("Option")
o.text = optTemp
o.Value = optTemp
fz.Add o
Next
opt.Value = fz.options(1).Value
'程式運行時的一些函數
Function c()
ss = Split(s.Value, vbCrLf)
For Each sss in ss
If sss<>"" Then Str = Str & Replace(opt.Value, "$1", sss) & vbCrLf
Next
d.Value = Str
End Function
Dim xCat '定義全域變數,避免重複的連結資料庫。
Function CreateTableSelect(dbType)
Set xCat = CreateObject("ADOX.Catalog")
If dbType = "ACCESS" Then
xCat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & txtFile.Value
ElseIf dbType = "MSSQL" Then
xCat.ActiveConnection = "Provider=SQLOLEDB.1; Persist Security Info=True; Data Source=" & IP.Value & ";
Initial Catalog="& dbname.Value &"; User ID="& UserID.Value &"; Password=" & pwd.Value
End If
For Each xTable in xCat.Tables
tableType = xTable.Type
If tableType = "TABLE" Then
TablesS = TablesS & "<option value='"& xTable.Name &"'>"& xTable.Name &"</option>"
End If
Next
Tables.innerHTML = " <select name='NowTables' onchange='CreateFieldSelect(""" & dbType & """)'><option>==請選擇
表名==</option>" & TablesS & "</select>"
End Function
Function CreateFieldSelect(dbType)
Dim Item
For Each xTable in xCat.Tables
If xTable.Name = NowTables.Value Then
For Each Item in xTable.Columns
Str = Str + Item.Name & vbCrLf
Next
Exit For
End If
Next
s.Value = Left(Str, Len(Str) -2)
End Function
Function MadeSQL()
yongfa365Fields = Split(s.Value, vbCrLf)
yongfa365Code2 = ""
For Each sql in yongfa365Fields
If sql<>"" Then strSQL = strSQL & " [" & sql & "] varchar(50),"
Next
strSQL = Left(strSQL, Len(strSQL) -1)
yongfa365Code2 = "Create Table TableName(" & vbCrLf & Replace(strSQL, ",", "," & vbCrLf) & vbCrLf & ")" & vbCrLf
& vbCrLf
TempValue = Join(yongfa365Fields, " & ""','"" & objItem.")
yongfa365Code2 = yongfa365Code2 & "Conn.Execute ""insert into Info (" & Join(yongfa365Fields, ",") & ") values
('"" & objItem." & TempValue & " & ""')""" & vbCrLf & vbCrLf & vbCrLf
TempValue = Join(yongfa365Fields, """) & ""','"" & rs(""")
yongfa365Code2 = yongfa365Code2 & "Conn.Execute ""insert into Info (" & Join(yongfa365Fields, ",") & ") values
('"" & rs(""" & TempValue & """) & ""')""" & vbCrLf & vbCrLf & vbCrLf
TempValue = Join(yongfa365Fields, " & ""','"" & ")
yongfa365Code2 = yongfa365Code2 & "Conn.Execute ""insert into Info (" & Join(yongfa365Fields, ",") & ") values
('"" & " & TempValue & " & ""')""" & vbCrLf & vbCrLf & vbCrLf
d.Value = SQLDEMO.innerHTML & String(2, vbCrLf) & yongfa365Code2
End Function
Function reReplace(Str, restrS, restrD)
Set re = New RegExp
re.IgnoreCase = True
re.Global = True
re.Pattern = restrS
reReplace = re.Replace(Str, restrD)
End Function
</script>
</body>
</html>
為防止出錯,特給打包