- DBF文件是在
C:\dbase\clip53\PRG\stkmenu\WPACK3\
- DBF文件稱爲
WPACKS.CFG
(故意不DBF)
在ActiveX EXE的VB6代碼用於打開數據庫並記錄:如何從VB6的xBase/Clipper文件中讀取數據?
Function OpenDatabase(sFile As Variant, Optional sProvider As Variant = "Provider=Microsoft.Jet.OLEDB.4.0") As Variant ' ADODB.Connection
Dim nErr As Long
Dim sErr As String
Dim oConnection As Object 'ADODB.Connection
Set oConnection = CreateObject("ADODB.Connection")
On Error Resume Next
oConnection.open sProvider & ";Data Source=" & sFile
nErr = Err.Number
sErr = Err.Description
On Error GoTo 0
If nErr <> 0 Then
Err.Raise OPENDATABASE_E_NOTFOUND, , sErr
End If
Set OpenDatabase = oConnection
End Function
Function OpenRecordSet(ByRef oDb As Variant, sQuery As Variant, Optional bCmdText As Boolean = False) As Variant ''ADODB.Connection ADODB.Recordset
Const adOpenForwardOnly As Long = 0
Const adOpenStatic As Long = 3
Const adOpenDynamic As Long = 2
Const adOpenKeyset As Long = 1
Const adLockOptimistic As Long = 3
Const adCmdText As Long = 1
Dim oRecordSet As Object 'ADODB.Recordset
Set oRecordSet = CreateObject("ADODB.RecordSet")
If bCmdText Then
oRecordSet.open sQuery, , , adCmdText
Else
oRecordSet.open sQuery, oDb, adOpenKeyset, adLockOptimistic
End If
Set OpenRecordSet = oRecordSet
End Function
訪問這些方法的腳本看起來有點像VBScript。它是VBScript,但是由前面提到的使用MSScript控件的ActiveX EXE執行,並且有一大堆對象可以提供給腳本引擎。一種VBScript-on-steroids方法。
uses database
uses system
dim db
dim rs
set db = database.opendatabase("C:\dbase\clip53\PRG\stkmenu\WPACK3\","Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=dBase III;User ID=Admin;Password=")
set rs = database.openrecordset(db, "SELECT * FROM WPACKS.CFG",true)
system.consolewriteline rs.recordcount
我的問題是,我不斷收到The connection cannot be used to perform this operation. It is either closed or invalid in this context.
當它擊中oRecordSet.open sQuery, , , adCmdText
(這是我從微軟網站獲得。)
「提斯刺激性的一點點。
或者使用FoxPro提供程序,因此您不必通過ODBC提供程序進行thunk或丟失由FoxPro提供程序提供的增強功能。 – Bob 2009-06-18 17:01:43