国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

讀取Access數據庫的vbscript代碼打包下載

2020-06-26 18:28:51
字體:
來源:轉載
供稿:網友
一段用來讀取Access數據庫的vbscript代碼,來自國外的代碼,經過武林網測試,確實不錯。
 
效果如圖所示:
讀取Access數據庫的vbscript代碼打包下載
核心代碼:
復制代碼代碼如下:

Option Explicit 
Dim arrTables( ), i, idxTables, intValidArgs 
Dim blnContent, blnFieldNames 
Dim objConn, objFSO, objRS, objSchema 
Dim strConnect, strHeader, strOutput 
Dim strFile, strResult, strSQL, strTable 
Const adSchemaTables = 20 
' Check command line arguments 
With WScript.Arguments 
If .Unnamed.Count = 1 Then 
strFile = .Unnamed(0) 
Else 
Syntax 
End If 
blnFieldNames = True 
blnContent = True 
If .Named.Count > 0 Then 
intValidArgs = 0 
If .Named.Exists( "T" ) Then 
blnFieldNames = False 
blnContent = False 
intValidArgs = intValidArgs + 1 
End If 
If .Named.Exists( "TF" ) Then 
blnContent = False 
intValidArgs = intValidArgs + 1 
End If 
If intValidArgs <> .Named.Count Then Syntax 
End If 
End With 
' Check if the specified database file exists 
Set objFSO = CreateObject( "Scripting.FileSystemObject" ) 
If Not objFSO.FileExists( strFile ) Then Syntax 
Set objFSO = Nothing 
' Connect to the MS-Access database 
Set objConn = CreateObject( "ADODB.Connection" ) 
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile 
objConn.Open strConnect 
' Search for user tables and list them in an array 
Set objSchema = objConn.OpenSchema( adSchemaTables ) 
idxTables = -1 
Do While Not objSchema.EOF 
If objSchema.Fields.Item(3).Value = "TABLE" Then 
idxTables = idxTables + 1 
ReDim Preserve arrTables( idxTables ) 
arrTables( idxTables ) = objSchema.Fields.Item(2).Value 
End If 
objSchema.MoveNext 
Loop 
' List all tables, their column names and their contents 
For Each strTable In arrTables 
strSQL = "Select * From " & strTable 
Set objRS = objConn.Execute( strSQL ) 
If IsObject( objRS ) Then 
' Display the current table's name 
If blnContent Then 
WScript.Echo """Table: " & strTable & """" 
Else 
WScript.Echo """" & strTable & """" 
End If 
If blnFieldNames Then 
strOutput = "" 
Do While Not objRS.EOF 
' Create a header line with the column names and data types 
strHeader = "" 
For i = 0 To objRS.Fields.Count - 1 
strHeader = strHeader & ",""[" _ 
& GetDataTypeDesc( objRS.Fields.Item(i).Type ) & "] " _ 
& objRS.Fields.Item(i).Name & """" 
Next 
strHeader = Mid( strHeader, 2 ) 
If blnContent Then 
' List the fields of the current record in comma delimited format 
strResult = "" 
For i = 0 To objRS.Fields.Count - 1 
strResult = strResult & ",""" & objRS.Fields.Item(i).Value & """" 
Next 
' Add the current record to the output string 
strOutput = strOutput & Mid( strResult, 2 ) & vbCrLf 
End If 
' Next record 
objRS.MoveNext 
Loop 
' List the results for the current table 
WScript.Echo strHeader & vbCrLf & strOutput & vbCrLf 
End If 
End If 
Next 
objRS.Close 
objSchema.Close 
objConn.Close 
Set objRS = Nothing 
Set objSchema = Nothing 
Set objConn = Nothing 
Function GetDataTypeDesc( myTypeNum ) 
Dim arrTypes( 8192 ), i 
For i = 0 To UBound( arrTypes ) 
arrTypes( i ) = "????" 
Next 
arrTypes(0) = "Empty" 
arrTypes(2) = "SmallInt" 
arrTypes(3) = "Integer" 
arrTypes(4) = "Single" 
arrTypes(5) = "Double" 
arrTypes(6) = "Currency" 
arrTypes(7) = "Date" 
arrTypes(8) = "BSTR" 
arrTypes(9) = "IDispatch" 
arrTypes(10) = "Error" 
arrTypes(11) = "Boolean" 
arrTypes(12) = "Variant" 
arrTypes(13) = "IUnknown" 
arrTypes(14) = "Decimal" 
arrTypes(16) = "TinyInt" 
arrTypes(17) = "UnsignedTinyInt" 
arrTypes(18) = "UnsignedSmallInt" 
arrTypes(19) = "UnsignedInt" 
arrTypes(20) = "BigInt" 
arrTypes(21) = "UnsignedBigInt" 
arrTypes(64) = "FileTime" 
arrTypes(72) = "GUID" 
arrTypes(128) = "Binary" 
arrTypes(129) = "Char" 
arrTypes(130) = "WChar" 
arrTypes(131) = "Numeric" 
arrTypes(132) = "UserDefined" 
arrTypes(133) = "DBDate" 
arrTypes(134) = "DBTime" 
arrTypes(135) = "DBTimeStamp" 
arrTypes(136) = "Chapter" 
arrTypes(138) = "PropVariant" 
arrTypes(139) = "VarNumeric" 
arrTypes(200) = "VarChar" 
arrTypes(201) = "LongVarChar" 
arrTypes(202) = "VarWChar" 
arrTypes(203) = "LongVarWChar" 
arrTypes(204) = "VarBinary" 
arrTypes(205) = "LongVarBinary" 
arrTypes(8192) = "Array" 
GetDataTypeDesc = arrTypes( myTypeNum ) 
End Function 
Sub Syntax 
Dim strMsg 
strMsg = strMsg & vbCrLf _ 
& "AccessRd.vbs, Version 1.01" & vbCrLf _ 
& "Display MS Access database (user) tables and, optionally, their contents" _ 
& vbCrLf & vbCrLf _ 
& "Usage: CSCRIPT //NOLOGO ACCESSRD.VBS access_db_file [ /T | /TF ]" _ 
& vbCrLf & vbCrLf _ 
& "Where: ""access_db_file"" is an MS-Access database file" & vbCrLf _ 
& " /T list table names only" & vbCrLf _ 
& " /TF list table and field names only" & vbCrLf _ 
& " (default is list tables, field names AND contents)" _ 
& vbCrLf & vbCrLf _ 
& "Written by Rob van der Woude" & vbCrLf _ 
& "http://www.robvanderwoude.com" 
WScript.Echo strMsg 
WScript.Quit(1) 
End Sub 

使用方法:
AccessRd.vbs, Version 1.01Display MS Access database (user) tables and, optionally, their contents 
Usage: CSCRIPT //NOLOGO ACCESSRD.VBS access_db_file [ /T | /TF ]Where: "access_db_file" is an MS-Access database file 
/T list table names only 
/TF list table and field names only 
(default is list tables, field names AND contents)Written by Rob van der Woudehttp://www.robvanderwoude.com

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 滨州市| 图木舒克市| 灌云县| 伽师县| 呼图壁县| 盐池县| 宁津县| 大足县| 尉犁县| 沁阳市| 武宣县| 德保县| 平度市| 通化市| 综艺| 台南县| 连江县| 耿马| 汶川县| 楚雄市| 西贡区| 武乡县| 尤溪县| 仙游县| 普陀区| 孟津县| 汶上县| 鹤山市| 宾阳县| 资源县| 新乡市| 吐鲁番市| 台南市| 武平县| 敖汉旗| 京山县| 荣成市| 广灵县| 遵义市| 白银市| 嘉善县|