- 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
내 문제는 내가 Microsoft 사이트에서 가져온 oRecordSet.open sQuery, , , adCmdText
에 부딪 힐 때 The connection cannot be used to perform this operation. It is either closed or invalid in this context.
을 계속 사용한다는 것입니다.
'다소 자극적입니다.
또는 ODBC 공급자를 통해 썽크 또는 FoxPro 공급자가 제공하는 향상된 기능을 잃을 필요가 없도록 FoxPro 공급자를 사용하십시오. – Bob