📄 dbxpress.pas
字号:
cbRESERVED12,
cbRESERVED13,
cbRESERVED14,
cbRESERVED15,
cbRESERVED16,
cbRESERVED17,
cbTABLECHANGED, { Table changed notification }
cbRESERVED19,
cbCANCELQRY, { Allow user to cancel Query }
cbSERVERCALL, { Server Call }
cbRESERVED22,
cbGENPROGRESS, { Generic Progress report. }
cbDBASELOGIN, { dBASE Login }
cbDELAYEDUPD, { Delayed Updates }
cbFIELDRECALC, { Field(s) recalculation }
cbTRACE, { Trace }
cbDBLOGIN, { Database login }
cbDETACHNOTIFY, { DLL Detach Notification }
cbNBROFCBS { Number of cbs }
);
TSQLDriverOption = (eDrvBlobSize, eDrvCallBack, eDrvCallBackInfo, eDrvRestrict);
TSQLConnectionOption = (
eConnAutoCommit, eConnBlockingMode, eConnBlobSize, eConnRoleName,
eConnWaitOnLocks, eConnCommitRetain, eConnTxnIsoLevel,
eConnNativeHandle, eConnServerVersion, eConnCallBack, eConnHostName,
eConnDatabaseName, eConnCallBackInfo, eConnObjectMode,
eConnMaxActiveComm, eConnServerCharSet, eConnSqlDialect,
eConnRollbackRetain, eConnObjectQuoteChar, eConnConnectionName,
eConnOSAuthentication, eConnSupportsTransaction, eConnMultipleTransaction,
eConnServerPort,eConnOnLine, eConnTrimChar, eConnQualifiedName,
eConnCatalogName, eConnSchemaName, eConnObjectName, eConnQuotedObjectName,
eConnCustomInfo, eConnTimeOut);
TSQLCommandOption = (
eCommRowsetSize, eCommBlobSize, eCommBlockRead, eCommBlockWrite,
eCommParamCount, eCommNativeHandle, eCommCursorName, eCommStoredProc,
eCommSQLDialect, eCommTransactionID, eCommPackageName, eCommTrimChar,
eCommQualifiedName, eCommCatalogName, eCommSchemaName, eCommObjectName,
eCommQuotedObjectName);
TSQLCursorOption = (eCurObjectAttrName, eCurObjectTypeName, eCurParentFieldID);
CBRType = (cbrUSEDEF, cbrCONTINUE, cbrABORT, cbrCHKINPUT,
cbrYES, cbrNO, cbrPARTIALASSIST, cbrSKIP, cbrRETRY);
TSQLMetaDataOption = (eMetaCatalogName, eMetaSchemaName, eMetaDatabaseName,
eMetaDatabaseVersion, eMetaTransactionIsoLevel, eMetaSupportsTransaction,
eMetaMaxObjectNameLength, eMetaMaxColumnsInTable, eMetaMaxColumnsInSelect,
eMetaMaxRowSize, eMetaMaxSQLLength, eMetaObjectQuoteChar,
eMetaSQLEscapeChar, eMetaProcSupportsCursor, eMetaProcSupportsCursors,
eMetaSupportsTransactions, eMetaPackageName);
TSQLObjectType = (eObjTypeDatabase, eObjTypeDataType, eObjTypeTable,
eObjTypeView, eObjTypeSynonym, eObjTypeProcedure, eObjTypeUser,
eObjTypeRole, eObjTypeUDT, eObjTypePackage);
TTransIsolationLevel = (xilREADCOMMITTED, xilREPEATABLEREAD, xilDIRTYREAD, xilCUSTOM);
pTTransactionDesc = ^TTransactionDesc;
TTransactionDesc = packed record
TransactionID : LongWord; { Transaction id }
GlobalID : LongWord; { Global transaction id }
IsolationLevel : TTransIsolationLevel; {Transaction Isolation level}
CustomIsolation : LongWord; { DB specific custom isolation }
end;
TSTMTParamType = (paramUNKNOWN, paramIN, paramOUT, paramINOUT, paramRET);
{ Function Result }
TypedEnum = Integer;
SQLDATE = Longint;
SQLTIME = Longint;
pTRACECat = ^TRACECat; { trace categories }
TRACECat = TypedEnum;
type
{ forward declarations }
ISQLDriver = interface;
ISQLConnection = interface;
ISQLCommand = interface;
ISQLCursor = interface;
ISQLMetaData = interface;
{ Trace callback }
TSQLCallbackEvent = function(
CallType: TRACECat;
CBInfo: Pointer): CBRType; stdcall;
{ class Pointers }
pSQLDriver = ^ISQLDriver;
pSQLConnection = ^ISQLConnection;
pSQLCommand = ^ISQLCommand;
pSQLCursor = ^ISQLCursor;
ISQLDriver = interface
function getSQLConnection(out pConn: ISQLConnection): SQLResult; stdcall;
function SetOption(eDOption: TSQLDriverOption;
PropValue: LongInt): SQLResult; stdcall;
function GetOption(eDOption: TSQLDriverOption; PropValue: Pointer;
MaxLength: SmallInt; out Length: SmallInt): SQLResult; stdcall;
end;
ISQLConnection = interface
function connect(ServerName: PChar; UserName: PChar;
Password: PChar): SQLResult; stdcall;
function disconnect: SQLResult; stdcall;
function getSQLCommand(out pComm: ISQLCommand): SQLResult; stdcall;
function getSQLMetaData(out pMetaData: ISQLMetaData): SQLResult; stdcall;
function SetOption(eConnectOption: TSQLConnectionOption;
lValue: LongInt): SQLResult; stdcall;
function GetOption(eDOption: TSQLConnectionOption; PropValue: Pointer;
MaxLength: SmallInt; out Length: SmallInt): SQLResult; stdcall;
function beginTransaction(TranID: LongWord): SQLResult; stdcall;
function commit(TranID: LongWord): SQLResult; stdcall;
function rollback(TranID: LongWord): SQLResult; stdcall;
function getErrorMessage(Error: PChar): SQLResult; overload; stdcall;
function getErrorMessageLen(out ErrorLen: SmallInt): SQLResult; stdcall;
end;
ISQLCommand = interface
function SetOption(
eSqlCommandOption: TSQLCommandOption;
ulValue: Integer): SQLResult; stdcall;
function GetOption(eSqlCommandOption: TSQLCommandOption;
PropValue: Pointer;
MaxLength: SmallInt; out Length: SmallInt): SQLResult; stdcall;
function setParameter(
ulParameter: Word ;
ulChildPos: Word ;
eParamType: TSTMTParamType ;
uLogType: Word;
uSubType: Word;
iPrecision: Integer;
iScale: Integer;
Length: LongWord ;
pBuffer: Pointer;
lInd: Integer): SQLResult; stdcall;
function getParameter(ParameterNumber: Word; ulChildPos: Word; Value: Pointer;
Length: Integer; var IsBlank: Integer): SQLResult; stdcall;
function prepare(SQL: PChar; ParamCount: Word): SQLResult; stdcall;
function execute(var Cursor: ISQLCursor): SQLResult; stdcall;
function executeImmediate(SQL: PChar; var Cursor: ISQLCursor): SQLResult; stdcall;
function getNextCursor(var Cursor: ISQLCursor): SQLResult; stdcall;
function getRowsAffected(var Rows: LongWord): SQLResult; stdcall;
function close: SQLResult; stdcall;
function getErrorMessage(Error: PChar): SQLResult; overload; stdcall;
function getErrorMessageLen(out ErrorLen: SmallInt): SQLResult; stdcall;
end;
ISQLCursor = interface
function SetOption(eOption: TSQLCursorOption;
PropValue: LongInt): SQLResult; stdcall;
function GetOption(eOption: TSQLCursorOption; PropValue: Pointer;
MaxLength: SmallInt; out Length: SmallInt): SQLResult; stdcall;
function getErrorMessage(Error: PChar): SQLResult; overload; stdcall;
function getErrorMessageLen(out ErrorLen: SmallInt): SQLResult; stdcall;
function getColumnCount(var pColumns: Word): SQLResult; stdcall;
function getColumnNameLength(
ColumnNumber: Word;
var pLen: Word): SQLResult; stdcall;
function getColumnName(ColumnNumber: Word; pColumnName: PChar): SQLResult; stdcall;
function getColumnType(ColumnNumber: Word; var puType: Word;
var puSubType: Word): SQLResult; stdcall;
function getColumnLength(ColumnNumber: Word; var pLength: LongWord): SQLResult; stdcall;
function getColumnPrecision(ColumnNumber: Word;
var piPrecision: SmallInt): SQLResult; stdcall;
function getColumnScale(ColumnNumber: Word; var piScale: SmallInt): SQLResult; stdcall;
function isNullable(ColumnNumber: Word; var Nullable: LongBool): SQLResult; stdcall;
function isAutoIncrement(ColumnNumber: Word; var AutoIncr: LongBool): SQLResult; stdcall;
function isReadOnly(ColumnNumber: Word; var ReadOnly: LongBool): SQLResult; stdcall;
function isSearchable(ColumnNumber: Word; var Searchable: LongBool): SQLResult; stdcall;
function isBlobSizeExact(ColumnNumber: Word; var IsExact: LongBool): SQLResult; stdcall;
function next: SQLResult; stdcall;
function getString(ColumnNumber: Word; Value: Pointer;
var IsBlank: LongBool): SQLResult; stdcall;
function getShort(ColumnNumber: Word; Value: Pointer;
var IsBlank: LongBool): SQLResult; stdcall;
function getLong(ColumnNumber: Word; Value: Pointer;
var IsBlank: LongBool): SQLResult; stdcall;
function getDouble(ColumnNumber: Word; Value: Pointer;
var IsBlank: LongBool): SQLResult; stdcall;
function getBcd(ColumnNumber: Word; Value: Pointer;
var IsBlank: LongBool): SQLResult; stdcall;
function getTimeStamp(ColumnNumber: Word; Value: Pointer;
var IsBlank: LongBool): SQLResult; stdcall;
function getTime(ColumnNumber: Word; Value: Pointer;
var IsBlank: LongBool): SQLResult; stdcall;
function getDate(ColumnNumber: Word; Value: Pointer;
var IsBlank: LongBool): SQLResult; stdcall;
function getBytes(ColumnNumber: Word; Value: Pointer;
var IsBlank: LongBool): SQLResult; stdcall;
function getBlobSize(ColumnNumber: Word; var Length: LongWord;
var IsBlank: LongBool): SQLResult; stdcall;
function getBlob(ColumnNumber: Word; Value: Pointer;
var IsBlank: LongBool; Length: LongWord): SQLResult; stdcall;
end;
ISQLMetaData = interface
function SetOption(eDOption: TSQLMetaDataOption;
PropValue: LongInt): SQLResult; stdcall;
function GetOption(eDOption: TSQLMetaDataOption; PropValue: Pointer;
MaxLength: SmallInt; out Length: SmallInt): SQLResult; stdcall;
function getObjectList(eObjType: TSQLObjectType; out Cursor: ISQLCursor):
SQLResult; stdcall;
function getTables(TableName: PChar; TableType: LongWord;
out Cursor: ISQLCursor): SQLResult; stdcall;
function getProcedures(ProcedureName: PChar; ProcType: LongWord;
out Cursor: ISQLCursor): SQLResult; stdcall;
function getColumns(TableName: PChar; ColumnName: PChar;
ColType: LongWord; Out Cursor: ISQLCursor): SQLResult; stdcall;
function getProcedureParams(ProcName: PChar; ParamName: PChar;
out Cursor: ISQLCursor): SQLResult; stdcall;
function getIndices(TableName: PChar; IndexType: LongWord;
out Cursor: ISQLCursor): SQLResult; stdcall;
function getErrorMessage(Error: PChar): SQLResult; overload; stdcall;
function getErrorMessageLen(out ErrorLen: SmallInt): SQLResult; stdcall;
end;
implementation
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -