📄 sdinf.pas
字号:
szTableName: TSDCharPtr; cbTableName: SQLSMALLINT;
fScope, fNullable: SQLUSMALLINT): SQLRETURN; external;
[DllImport(DefSqlApiDLL_B, CharSet = CharSet.Ansi, SetLastError = True, EntryPoint = 'SQLStatistics')]
function B_SQLStatistics(hStmt: SQLHSTMT;
szCatalogName: TSDCharPtr; cbCatalogName: SQLSMALLINT;
szSchemaName: TSDCharPtr; cbSchemaName: SQLSMALLINT;
szTableName: TSDCharPtr; cbTableName: SQLSMALLINT;
fUnique, fAccuracy: SQLUSMALLINT): SQLRETURN; external;
[DllImport(DefSqlApiDLL_B, CharSet = CharSet.Ansi, SetLastError = True, EntryPoint = 'SQLTables')]
function B_SQLTables(hStmt: SQLHSTMT;
szCatalogName: TSDCharPtr; cbCatalogName: SQLSMALLINT;
szSchemaName: TSDCharPtr; cbSchemaName: SQLSMALLINT;
szTableName: TSDCharPtr; cbTableName: SQLSMALLINT;
szTableType: TSDCharPtr; cbTableType: SQLSMALLINT): SQLRETURN; external;
[DllImport(DefSqlApiDLL_B, CharSet = CharSet.Ansi, SetLastError = True, EntryPoint = 'SQLTransact')]
function B_SQLTransact(hEnv: SQLHENV; hDbc: SQLHDBC; fType: SQLUSMALLINT): SQLRETURN; external;
// ------------------ from SQLEXT.H --------------------------------
[DllImport(DefSqlApiDLL_B, CharSet = CharSet.Ansi, SetLastError = True, EntryPoint = 'SQLBrowseConnect')]
function B_SQLBrowseConnect(hDbc: SQLHDBC; szConnStrIn: TSDCharPtr; cbConnStrIn: SQLSMALLINT;
szConnStrOut: TSDCharPtr; cbConnStrOutMax: SQLSMALLINT;
var cbConnStrOut: SQLSMALLINT): SQLRETURN; external;
[DllImport(DefSqlApiDLL_B, CharSet = CharSet.Ansi, SetLastError = True, EntryPoint = 'SQLBulkOperations')]
function B_SQLBulkOperations(hStmt: SQLHSTMT; Operation: SQLSMALLINT): SQLRETURN; external;
[DllImport(DefSqlApiDLL_B, CharSet = CharSet.Ansi, SetLastError = True, EntryPoint = 'SQLColAttributes')]
function B_SQLColAttributes(hStmt: SQLHSTMT; icol, fDescType: SQLUSMALLINT; rgbDesc: SQLPOINTER;
cbDescMax: SQLSMALLINT; var cbDesc: SQLSMALLINT; var fDesc: SQLINTEGER): SQLRETURN; external;
[DllImport(DefSqlApiDLL_B, CharSet = CharSet.Ansi, SetLastError = True, EntryPoint = 'SQLColumnPrivileges')]
function B_SQLColumnPrivileges(hStmt: SQLHSTMT; szCatalogName: TSDCharPtr; cbCatalogName: SQLSMALLINT;
szSchemaName: TSDCharPtr; cbSchemaName: SQLSMALLINT;
szTableName: TSDCharPtr; cbTableName: SQLSMALLINT;
szColumnName: TSDCharPtr; cbColumnName: SQLSMALLINT): SQLRETURN; external;
[DllImport(DefSqlApiDLL_B, CharSet = CharSet.Ansi, SetLastError = True, EntryPoint = 'SQLDescribeParam')]
function B_SQLDescribeParam(hStmt: SQLHSTMT; ipar: SQLUSMALLINT; pfSqlType: SQLPOINTER;
var cbParamDef: SQLUINTEGER; pibScale, pfNullable: SQLPOINTER): SQLRETURN; external;
[DllImport(DefSqlApiDLL_B, CharSet = CharSet.Ansi, SetLastError = True, EntryPoint = 'SQLExtendedFetch')]
function B_SQLExtendedFetch(hStmt: SQLHSTMT; fFetchType: SQLUSMALLINT; irow: SQLINTEGER;
var crow: SQLUINTEGER; var gfRowStatus: SQLUSMALLINT): SQLRETURN; external;
[DllImport(DefSqlApiDLL_B, CharSet = CharSet.Ansi, SetLastError = True, EntryPoint = 'SQLForeignKeys')]
function B_SQLForeignKeys(hStmt: SQLHSTMT; szPkCatalogName: TSDCharPtr; cbPkCatalogName: SQLSMALLINT;
szPkSchemaName: TSDCharPtr; cbPkSchemaName: SQLSMALLINT;
szPkTableName: TSDCharPtr; cbPkTableName: SQLSMALLINT;
szFkCatalogName: TSDCharPtr; cbFkCatalogName: SQLSMALLINT;
szFkSchemaName: TSDCharPtr; cbFkSchemaName: SQLSMALLINT;
szFkTableName: TSDCharPtr; cbFkTableName: SQLSMALLINT): SQLRETURN; external;
[DllImport(DefSqlApiDLL_B, CharSet = CharSet.Ansi, SetLastError = True, EntryPoint = 'SQLMoreResults')]
function B_SQLMoreResults(hStmt: SQLHSTMT): SQLRETURN; external;
[DllImport(DefSqlApiDLL_B, CharSet = CharSet.Ansi, SetLastError = True, EntryPoint = 'SQLNativeSql')]
function B_SQLNativeSql(hDbc: SQLHDBC; szSqlStrIn: TSDCharPtr; cbSqlStrIn: SQLINTEGER;
szSqlStr: TSDCharPtr; cbSqlStrMax: SQLINTEGER; var cbSqlStr: SQLINTEGER): SQLRETURN; external;
[DllImport(DefSqlApiDLL_B, CharSet = CharSet.Ansi, SetLastError = True, EntryPoint = 'SQLNumParams')]
function B_SQLNumParams(hStmt: SQLHSTMT; var cpar: SQLSMALLINT): SQLRETURN; external;
[DllImport(DefSqlApiDLL_B, CharSet = CharSet.Ansi, SetLastError = True, EntryPoint = 'SQLParamOptions')]
function B_SQLParamOptions(hStmt: SQLHSTMT; crow: SQLUINTEGER; var irow: SQLUINTEGER): SQLRETURN; external;
[DllImport(DefSqlApiDLL_B, CharSet = CharSet.Ansi, SetLastError = True, EntryPoint = 'SQLPrimaryKeys')]
function B_SQLPrimaryKeys(hStmt: SQLHSTMT; szCatalogName: TSDCharPtr; cbCatalogName: SQLSMALLINT;
szSchemaName: TSDCharPtr; cbSchemaName: SQLSMALLINT;
szTableName: TSDCharPtr; cbTableName: SQLSMALLINT): SQLRETURN; external;
[DllImport(DefSqlApiDLL_B, CharSet = CharSet.Ansi, SetLastError = True, EntryPoint = 'SQLProcedureColumns')]
function B_SQLProcedureColumns(hStmt: SQLHSTMT; szCatalogName: TSDCharPtr; cbCatalogName: SQLSMALLINT;
szSchemaName: TSDCharPtr; cbSchemaName: SQLSMALLINT;
szProcName: TSDCharPtr; cbProcName: SQLSMALLINT;
szColumnName: TSDCharPtr; cbColumnName: SQLSMALLINT): SQLRETURN; external;
[DllImport(DefSqlApiDLL_B, CharSet = CharSet.Ansi, SetLastError = True, EntryPoint = 'SQLProcedures')]
function B_SQLProcedures(hStmt: SQLHSTMT; szCatalogName: TSDCharPtr; cbCatalogName: SQLSMALLINT;
szSchemaName: TSDCharPtr; cbSchemaName: SQLSMALLINT;
szProcName: TSDCharPtr; cbProcName: SQLSMALLINT): SQLRETURN; external;
[DllImport(DefSqlApiDLL_B, CharSet = CharSet.Ansi, SetLastError = True, EntryPoint = 'SQLSetPos')]
function B_SQLSetPos(hStmt: SQLHSTMT; irow, fOption, fLock: SQLUSMALLINT): SQLRETURN; external;
[DllImport(DefSqlApiDLL_B, CharSet = CharSet.Ansi, SetLastError = True, EntryPoint = 'SQLTablePrivileges')]
function B_SQLTablePrivileges(hStmt: SQLHSTMT; szCatalogName: TSDCharPtr; cbCatalogName: SQLSMALLINT;
szSchemaName: TSDCharPtr; cbSchemaName: SQLSMALLINT;
szTableName: TSDCharPtr; cbTableName: SQLSMALLINT): SQLRETURN; external;
[DllImport(DefSqlApiDLL_B, CharSet = CharSet.Ansi, SetLastError = True, EntryPoint = 'SQLDrivers')]
function B_SQLDrivers(hEnv: SQLHENV; fDirection: SQLUSMALLINT; szDriverDesc: TSDCharPtr;
cbDriverDescMax: SQLSMALLINT; var cbDriverDesc: SQLSMALLINT;
szDriverAttributes: TSDCharPtr; cbDrvrAttrMax: SQLSMALLINT; var cbDrvrAttr: SQLSMALLINT): SQLRETURN; external;
[DllImport(DefSqlApiDLL_B, CharSet = CharSet.Ansi, SetLastError = True, EntryPoint = 'SQLBindParameter')]
function B_SQLBindParameter(hStmt: SQLHSTMT; ipar: SQLUSMALLINT;
fParamType, fCType, fSqlType: SQLSMALLINT;
cbColDef: SQLUINTEGER; ibScale: SQLSMALLINT;
rgbValue: SQLPOINTER; cbValueMax: SQLINTEGER;
pcbValue: SQLPOINTER): SQLRETURN; external;
[DllImport(DefSqlApiDLL_B, CharSet = CharSet.Ansi, SetLastError = True, EntryPoint = 'SQLDriverConnect')]
function B_SQLDriverConnect(hDbc: SQLHDBC; hWnd: SQLHWND;
szConnStrIn: TSDCharPtr; cbConnStrIn: SQLSMALLINT;
szConnStrOut: TSDCharPtr; cbConnStrOutMax: SQLSMALLINT;
var cbConnStrOut: SQLSMALLINT; fDriverCompletion: SQLUSMALLINT): SQLRETURN; external;
{$ENDIF}
(*******************************************************************************
Load/Unload Sql-library
********************************************************************************)
procedure LoadSqlLib;
procedure FreeSqlLib;
function InitSqlDatabase(ADbParams: TStrings): TISqlDatabase;
implementation
resourcestring
SErrLibLoading = 'Error loading library ''%s''';
SErrLibUnloading = 'Error unloading library ''%s''';
var
hSqlLibModule: THandle;
SqlLibRefCount: Integer;
SqlLibLock: TCriticalSection;
function InitSqlDatabase(ADbParams: TStrings): TISqlDatabase;
var
s: string;
begin
if hSqlLibModule = 0 then begin
s := Trim( ADbParams.Values[GetSqlLibParamName( Ord(istInformix) )] );
if s <> '' then
SqlApiDLL := s;
end;
Result := TIInfDatabase.Create( ADbParams );
end;
{ TInfFunctions }
procedure TInfFunctions.SetApiCalls(ASqlLibModule: THandle);
{$IFDEF SD_CLR}
var
s: string;
begin
FLibHandle := ASqlLibModule;
s := GetModuleFileNameStr( FLibHandle );
s := ExtractFileName( s );
// there are used functions, which imported in the current unit
if UpperCase(s) = DefSqlApiDLL_A then begin
FSQLAllocConnect := SDInf.SQLAllocConnect;
FSQLAllocEnv := SDInf.SQLAllocEnv;
FSQLAllocStmt := SDInf.SQLAllocStmt;
FSQLBindCol := SDInf.SQLBindCol;
FSQLCancel := SDInf.SQLCancel;
FSQLCloseCursor := SDInf.SQLCloseCursor;
FSQLColAttribute := SDInf.SQLColAttribute;
FSQLColumns := SDInf.SQLColumns;
FSQLConnect := SDInf.SQLConnect;
FSQLCopyDesc := SDInf.SQLCopyDesc;
FSQLDataSources := SDInf.SQLDataSources;
FSQLDescribeCol := SDInf.SQLDescribeCol;
FSQLDisconnect := SDInf.SQLDisconnect;
FSQLEndTran := SDInf.SQLEndTran;
FSQLError := SDInf.SQLError;
FSQLExecDirect := SDInf.SQLExecDirect;
FSQLExecute := SDInf.SQLExecute;
FSQLFetch := SDInf.SQLFetch;
FSQLFetchScroll := SDInf.SQLFetchScroll;
FSQLFreeConnect := SDInf.SQLFreeConnect;
FSQLFreeEnv := SDInf.SQLFreeEnv;
FSQLFreeHandle := SDInf.SQLFreeHandle;
FSQLFreeStmt := SDInf.SQLFreeStmt;
FSQLGetConnectAttr := SDInf.SQLGetConnectAttr;
FSQLGetConnectOption := SDInf.SQLGetConnectOption;
FSQLGetCursorName := SDInf.SQLGetCursorName;
FSQLGetData := SDInf.SQLGetData;
FSQLGetDescField := SDInf.SQLGetDescField;
FSQLGetDescRec := SDInf.SQLGetDescRec;
FSQLGetDiagField := SDInf.SQLGetDiagField;
FSQLGetDiagRec := SDInf.SQLGetDiagRec;
FSQLGetEnvAttr := SDInf.SQLGetEnvAttr;
FSQLGetFunctions := SDInf.SQLGetFunctions;
FSQLGetInfo := SDInf.SQLGetInfo;
FSQLGetStmtAttr := SDInf.SQLGetStmtAttr;
FSQLGetStmtOption := SDInf.SQLGetStmtOption;
FSQLGetTypeInfo := SDInf.SQLGetTypeInfo;
FSQLNumResultCols := SDInf.SQLNumResultCols;
FSQLParamData := SDInf.SQLParamData;
FSQLPrepare := SDInf.SQLPrepare;
FSQLPutData := SDInf.SQLPutData;
FSQLRowCount := SDInf.SQLRowCount;
FSQLSetConnectAttr := SDInf.SQLSetConnectAttr;
FSQLSetConnectOption := SDInf.SQLSetConnectOption;
FSQLSetCursorName := SDInf.SQLSetCursorName;
FSQLSetDescField := SDInf.SQLSetDescField;
FSQLSetDescRec := SDInf.SQLSetDescRec;
FSQLSetEnvAttr := SDInf.SQLSetEnvAttr;
FSQLSetParam := SDInf.SQLSetParam;
FSQLSetStmtAttr := SDInf.SQLSetStmtAttr;
FSQLSetStmtOption := SDInf.SQLSetStmtOption;
FSQLSpecialColumns := SDInf.SQLSpecialColumns;
FSQLStatistics := SDInf.SQLStatistics;
FSQLTables := SDInf.SQLTables;
FSQLTransact := SDInf.SQLTransact;
FSQLBrowseConnect := SDInf.SQLBrowseConnect;
FSQLBulkOperations := SDInf.SQLBulkOperations;
FSQLColAttributes := SDInf.SQLColAttributes;
FSQLColumnPrivileges := SDInf.SQLColumnPrivileges;
FSQLDescribeParam := SDInf.SQLDescribeParam;
FSQLExtendedFetch := SDInf.SQLExtendedFetch;
FSQLForeignKeys := SDInf.SQLForeignKeys;
FSQLMoreResults := SDInf.SQLMoreResults;
FSQLNativeSql := SDInf.SQLNativeSql;
FSQLNumParams := SDInf.SQLNumParams;
FSQLParamOptions := SDInf.SQLParamOptions;
FSQLPrimaryKeys := SDInf.SQLPrimaryKeys;
FSQLProcedureColumns := SDInf.SQLProcedureColumns;
FSQLProcedures := SDInf.SQLProcedures;
FSQLSetPos := SDInf.SQLSetPos;
FSQLTablePrivileges := SDInf.SQLTablePrivileges;
FSQLDrivers := SDInf.SQLDrivers;
FSQLBindParameter := SDInf.SQLBindParameter;
FSQLDriverConnect := SDInf.SQLDriverConnect;
Exit;
end;
FSQLAllocConnect := B_SQLAllocConnect;
FSQLAllocEnv := B_SQLAllocEnv;
FSQLAllocHandle := B_SQLAllocHandle;
FSQLAllocStmt := B_SQLAllocStmt;
FSQLBindCol := B_SQLBindCol;
FSQLCancel := B_SQLCancel;
FSQLCloseCursor := B_SQLCloseCursor;
FSQLColAttribute := B_SQLColAttribute;
FSQLColumns := B_SQLColumns;
FSQLConnect := B_SQLConnect;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -