unit Main;
{$DEFINE ADOCONNECT}interfaceUses DB, ADODB, Classes, ActiveX;{$I ADO.Inc}Function InitADO( ConnectString : WideString ) : TADOConnect; Stdcall;implementation{ TADOConnect }Constructor TADOConnect.Create( ConnectString : WideString );
begin
Inherited Create;
CoInitialize( Nil );
FConnectString := ConnectString;
FADO := TADOConnection.Create( Nil );
FADO.ConnectionString := FConnectString;
FADO.LoginPrompt := False;
end;Destructor TADOConnect.Destroy;
Begin
FADO.Free;
CoUninitialize;
Inherited Destroy;
End;Function TADOConnect.Open : Boolean;
Begin
Try
FADO.Open;
Result := True;
Except
Result := False;
End;
End;Function TADOConnect.Close : Boolean;
Begin
Try
FADO.Close;
Result := True;
Except
Result := False;
End;
End;Function TADOConnect.GetConnection : TADOConnection;
Begin
Result := FADO;
End;Procedure TADOConnect.GetTableNames( Var List : TStringList; IncludeSysTable : Boolean );
Begin
If FADO.Connected Then FADO.GetTableNames( List, IncludeSysTable );
End;Procedure TADOConnect.GetFieldNames( Const TableName : String; Var List : TStringList );
Begin
If FADO.Connected Then FADO.GetFieldNames( TableName, List );
End;Procedure TADOConnect.GetProcedureNames( Var List : TStringList );
Begin
If FADO.Connected Then FADO.GetProcedureNames( List );
End;Function TADOConnect.GetConnectState : Boolean;
Begin
Result := FADO.Connected;
End;Function InitADO( ConnectString : WideString ) : TADOConnect;
Begin
Result := TADOConnect.Create( ConnectString );
End;end.文件ADO.Inc:
Type
TADOConnect = Class( TObject )
{$IFDEF ADOCONNECT}
Private
FConnectString : WideString;
FADO : TADOConnection;
{$ENDIF}
Public
{$IFDEF ADOCONNECT}
Constructor Create( ConnectString : WideString );
Destructor Destroy; Override;
{$ENDIF}
Function Open : Boolean; Virtual; Stdcall; {$IFNDEF ADOCONNECT} Abstract; {$ENDIF}
Function Close : Boolean; Virtual; Stdcall; {$IFNDEF ADOCONNECT} Abstract; {$ENDIF}
Function GetConnection : TADOConnection; Virtual; Stdcall; {$IFNDEF ADOCONNECT} Abstract; {$ENDIF}
Function GetConnectState : Boolean; Virtual; Stdcall; {$IFNDEF ADOCONNECT} Abstract; {$ENDIF}
Procedure GetTableNames( Var List : TStringList; IncludeSysTable : Boolean = False ); Virtual; Stdcall; {$IFNDEF ADOCONNECT} Abstract; {$ENDIF}
Procedure GetFieldNames( Const TableName : String; Var List : TStringList ); Virtual; Stdcall; {$IFNDEF ADOCONNECT} Abstract; {$ENDIF}
Procedure GetProcedureNames( Var List : TStringList ); Virtual; Stdcall; {$IFNDEF ADOCONNECT} Abstract; {$ENDIF}
End;
参考这个例子,不要照抄!!!可能有错误!!!
{$DEFINE ADOCONNECT}interfaceUses DB, ADODB, Classes, ActiveX;{$I ADO.Inc}Function InitADO( ConnectString : WideString ) : TADOConnect; Stdcall;implementation{ TADOConnect }Constructor TADOConnect.Create( ConnectString : WideString );
begin
Inherited Create;
CoInitialize( Nil );
FConnectString := ConnectString;
FADO := TADOConnection.Create( Nil );
FADO.ConnectionString := FConnectString;
FADO.LoginPrompt := False;
end;Destructor TADOConnect.Destroy;
Begin
FADO.Free;
CoUninitialize;
Inherited Destroy;
End;Function TADOConnect.Open : Boolean;
Begin
Try
FADO.Open;
Result := True;
Except
Result := False;
End;
End;Function TADOConnect.Close : Boolean;
Begin
Try
FADO.Close;
Result := True;
Except
Result := False;
End;
End;Function TADOConnect.GetConnection : TADOConnection;
Begin
Result := FADO;
End;Procedure TADOConnect.GetTableNames( Var List : TStringList; IncludeSysTable : Boolean );
Begin
If FADO.Connected Then FADO.GetTableNames( List, IncludeSysTable );
End;Procedure TADOConnect.GetFieldNames( Const TableName : String; Var List : TStringList );
Begin
If FADO.Connected Then FADO.GetFieldNames( TableName, List );
End;Procedure TADOConnect.GetProcedureNames( Var List : TStringList );
Begin
If FADO.Connected Then FADO.GetProcedureNames( List );
End;Function TADOConnect.GetConnectState : Boolean;
Begin
Result := FADO.Connected;
End;Function InitADO( ConnectString : WideString ) : TADOConnect;
Begin
Result := TADOConnect.Create( ConnectString );
End;end.文件ADO.Inc:
Type
TADOConnect = Class( TObject )
{$IFDEF ADOCONNECT}
Private
FConnectString : WideString;
FADO : TADOConnection;
{$ENDIF}
Public
{$IFDEF ADOCONNECT}
Constructor Create( ConnectString : WideString );
Destructor Destroy; Override;
{$ENDIF}
Function Open : Boolean; Virtual; Stdcall; {$IFNDEF ADOCONNECT} Abstract; {$ENDIF}
Function Close : Boolean; Virtual; Stdcall; {$IFNDEF ADOCONNECT} Abstract; {$ENDIF}
Function GetConnection : TADOConnection; Virtual; Stdcall; {$IFNDEF ADOCONNECT} Abstract; {$ENDIF}
Function GetConnectState : Boolean; Virtual; Stdcall; {$IFNDEF ADOCONNECT} Abstract; {$ENDIF}
Procedure GetTableNames( Var List : TStringList; IncludeSysTable : Boolean = False ); Virtual; Stdcall; {$IFNDEF ADOCONNECT} Abstract; {$ENDIF}
Procedure GetFieldNames( Const TableName : String; Var List : TStringList ); Virtual; Stdcall; {$IFNDEF ADOCONNECT} Abstract; {$ENDIF}
Procedure GetProcedureNames( Var List : TStringList ); Virtual; Stdcall; {$IFNDEF ADOCONNECT} Abstract; {$ENDIF}
End;
参考这个例子,不要照抄!!!可能有错误!!!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货