?? sqlite3lib.pas
字號:
Unit SQLite3Lib;
Interface
{$I Sqlite.inc}
Uses
Sqlite3Types;
Var
SQLite3_DllName: AnsiString = 'Sqlite3.dll';
SQLite3_DllHandle: THandle;
{$IFDEF UseSQLiteCrypt}
SQLite3_Key: Function(DB: TSQLiteDB; Key: PAnsiChar; KeyLen: Integer): Integer; cdecl;
SQLite3_Rekey: Function(DB: TSQLiteDB; Key: PAnsiChar; KeyLen: Integer): Integer; cdecl;
{$ENDIF}
SQLite3_Aggregate_Context: Function(pCtx: TSQLite_Context; nBytes: Integer): Pointer; cdecl;
SQLite3_Auto_Extension: Function(xEntryPoint: Pointer): Integer; cdecl;
//
// In the SQL strings input to sqlite3_prepare() and sqlite3_prepare16(),
// one or more literals can be replace by a wildcard "?" or ":N:" where
// N is an integer. These value of these wildcard literals can be set
// using the routines listed below.
//
// In every case, the first parameter is a pointer to the sqlite3_stmt
// structure returned from sqlite3_prepare(). The second parameter is the
// index of the wildcard. The first "?" has an index of 1. ":N:" wildcards
// use the index N.
//
// The fifth parameter to sqlite3_bind_blob(), sqlite3_bind_text(), and
//sqlite3_bind_text16() is a destructor used to dispose of the BLOB or
//text after SQLite has finished with it. If the fifth argument is the
// special value SQLITE_STATIC, then the library assumes that the information
// is in static, unmanaged space and does not need to be freed. If the
// fifth argument has the value SQLITE_TRANSIENT, then SQLite makes its
// own private copy of the data.
//
// The sqlite3_bind_* routine must be called before sqlite3_step() after
// an sqlite3_prepare() or sqlite3_reset(). Unbound wildcards are interpreted
// as NULL.
//
SQLite3_Bind_Blob: Function(hStmt: TSQLiteStmt; ParamNum: Integer;
ptrData: Pointer; numBytes: Integer; ptrDestructor: Pointer): Integer; cdecl;
SQLite3_Bind_Double: Function(hStmt: TSQLiteStmt; ParamNum: Integer; ptrData: Double): Integer; cdecl;
SQLite3_Bind_Int: Function(hStmt: TSQLiteStmt; ParamNum: Integer; ptrData: Integer): Integer; cdecl;
SQLite3_Bind_Int64: Function(hStmt: TSQLiteStmt; ParamNum: Integer; ptrData: Int64): Integer; cdecl;
SQLite3_Bind_Null: Function(hStmt: TSQLiteStmt; ParamNum: Integer): Integer; cdecl;
SQLite3_Bind_Text: Function(hStmt: TSQLiteStmt; ParamNum: Integer;
ptrData: PAnsiChar; numBytes: Integer; ptrDestructor: Pointer): Integer; cdecl;
SQLite3_Bind_Text16: Function(hStmt: TSQLiteStmt; ParamNum: Integer;
ptrData: PWideChar; numBytes: Integer; ptrDestructor: Pointer): Integer; cdecl;
SQLite3_Bind_Value: Function(hStmt: TSQLiteStmt; ParamNum: Integer; ptrData: PPointer): Integer; cdecl;
SQLite3_Bind_ZeroBlob: Function(hStmt: TSQLiteStmt; ParamNum: Integer; ptrData: Integer): Integer; cdecl;
SQLite3_Bind_Parameter_Count: Function(hStmt: TSQLiteStmt): Integer; cdecl;
SQLite3_Bind_Parameter_Index: Function(hStmt: TSQLiteStmt; zName: PAnsiChar): Integer; cdecl;
SQLite3_Bind_Parameter_Name: Function(hStmt: TSQLiteStmt; n: Integer): PAnsiChar; cdecl;
SQLite3_Blob_Bytes: Function(pBlob: TSQLiteBlob): Integer; cdecl;
SQLite3_Blob_Close: Function(pBlob: TSQLiteBlob): Integer; cdecl;
SQLite3_Blob_Open: Function(DB: TSQLiteDB; Const zDb: PAnsiChar; Const zTable: PAnsiChar; Const zColumn: PAnsiChar; iRow: Int64; Flags: Integer; ppBlob: TSQLiteBlob): Integer; cdecl;
SQLite3_Blob_Read: Function(pBlob: TSQLiteBlob; z: Pointer; n: Integer; iOffset: Integer): Integer; cdecl;
SQLite3_Blob_Write: Function(pBlob: TSQLiteBlob; Const z: Pointer; n: Integer; iOffset: Integer): Integer; cdecl;
SQLite3_Busy_Handler: Procedure(DB: TSQLiteDB; Callback: TSQLite_Busy_Callback; Sender: TObject); cdecl;
SQLite3_Busy_Timeout: Procedure(DB: TSQLiteDB; TimeOut: Integer); cdecl;
SQLite3_Changes: Function(DB: TSQLiteDB): Integer; cdecl;
SQLite3_Clear_Bindings: Function(hStmt: TSQLiteStmt): Integer; cdecl;
SQLite3_Close: Function(DB: TSQLiteDB): Integer; cdecl;
SQLite3_Collation_Needed: Function(DB: TSQLiteDB; UserData: Pointer; Callback: TSQLite_Collation_Needed_Callback): Integer; cdecl;
SQLite3_Collation_Needed16: Function(DB: TSQLiteDB; UserData: Pointer; Callback: TSQLite_Collation_Needed16_Callback): Integer; cdecl;
SQLite3_Column_Count: Function(hStmt: TSQLiteStmt): Integer; cdecl;
SQLite3_Column_Blob: Function(hStmt: TSQLiteStmt; ColNum: Integer): Pointer; cdecl;
SQLite3_Column_Bytes: Function(hStmt: TSQLiteStmt; ColNum: Integer): Integer; cdecl;
SQLite3_Column_Bytes16: Function(hStmt: TSQLiteStmt; ColNum: Integer): Integer; cdecl;
SQLite3_Column_Double: Function(hStmt: TSQLiteStmt; ColNum: Integer): Double; cdecl;
SQLite3_Column_Int: Function(hStmt: TSQLiteStmt; ColNum: Integer): Integer; cdecl;
SQLite3_Column_Int64: Function(hStmt: TSQLiteStmt; ColNum: Integer): Int64; cdecl;
SQLite3_Column_Text: Function(hStmt: TSQLiteStmt; ColNum: Integer): PAnsiChar; cdecl;
SQLite3_Column_Text16: Function(hStmt: TSQLiteStmt; ColNum: Integer): PWideChar; cdecl;
SQLite3_Column_Type: Function(hStmt: TSQLiteStmt; ColNum: Integer): Integer; cdecl;
SQLite3_Column_Value: Function(hStmt: TSQLiteStmt; ColNum: Integer): Pointer; cdecl;
SQLite3_Column_Name: Function(hStmt: TSQLiteStmt; ColNum: Integer): PAnsiChar; cdecl;
SQLite3_Column_Name16: Function(hStmt: TSQLiteStmt; ColNum: Integer): PWideChar; cdecl;
SQLite3_Column_DeclType: Function(hStmt: TSQLiteStmt; ColNum: Integer): PAnsiChar; cdecl;
SQLite3_Column_DeclType16: Function(hStmt: TSQLiteStmt; ColNum: Integer): PWideChar; cdecl;
SQLite3_Column_Database_Name: Function(hStmt: TSQLiteStmt; ColNum: Integer): PAnsiChar; cdecl;
SQLite3_Column_Database_Name16: Function(hStmt: TSQLiteStmt; ColNum: Integer): PWideChar; cdecl;
SQLite3_Column_Table_Name: Function(hStmt: TSQLiteStmt; ColNum: Integer): PAnsiChar; cdecl;
SQLite3_Column_Table_Name16: Function(hStmt: TSQLiteStmt; ColNum: Integer): PWideChar; cdecl;
SQLite3_Column_Origin_Name: Function(hStmt: TSQLiteStmt; ColNum: Integer): PAnsiChar; cdecl;
SQLite3_Column_Origin_Name16: Function(hStmt: TSQLiteStmt; ColNum: Integer): PWideChar; cdecl;
SQLite3_Commit_Hook: Function(DB: TSQLiteDB; Callback: TSQLite_Commit_Callback; pArg: Pointer): Pointer; cdecl;
SQLite3_Complete: Function(P: PAnsiChar): boolean; cdecl;
SQLite3_Complete16: Function(P: PWideChar): boolean; cdecl;
SQLite3_Context_DB_Handle: Function(pCtx: TSQLite_Context): TSQLiteDB; cdecl;
SQLite3_Create_Collation: Function(DB: TSQLiteDB; Const zName: PAnsiChar; eTextRep: Integer; UserData: Pointer; xCompare: TSQLite_Collation_Callback): Integer;
SQLite3_Create_Collation16: Function(DB: TSQLiteDB; Const zName: PWideChar; eTextRep: Integer; UserData: Pointer; xCompare: TSQLite_Collation_Callback): Integer;
SQLite3_Create_Collation_v2: Function(DB: TSQLiteDB; Const zName: PAnsiChar; eTextRep: Integer; UserData: Pointer; xCompare: TSQLite_Collation_Callback; xDestroy: TSQLite_Collation_Destructor): Integer;
SQLite3_Create_Function: Function(DB: TSQLiteDB; zFunctionName: PAnsiChar; nArg: Integer; eTextRep: Integer; UserData: Pointer; xFunc: TSQLite_Func_Callback; xStep: TSQLite_Step_Callback; xFinal: TSQLite_Final_Callback): Integer;
SQLite3_Create_Function16: Function(DB: TSQLiteDB; zFunctionName: PWideChar; nArg: Integer; eTextRep: Integer; UserData: Pointer; xFunc: TSQLite_Func_Callback; xStep: TSQLite_Step_Callback; xFinal: TSQLite_Final_Callback): Integer;
SQLite3_Create_Module: Function(DB: TSQLiteDB; Const zName: PAnsiChar; Const Module: PSQLite3_Module; UserData: Pointer): Integer;
SQLite3_Create_Module_v2: Function(DB: TSQLiteDB; Const zName: PAnsiChar; Const Module: PSQLite3_Module; UserData: Pointer; xDestroy: TSQLite_Module_Destructor): Integer;
SQLite3_Data_Count: Function(hStmt: TSQLiteStmt): Integer; cdecl;
SQLite3_DB_Handle: Function(hStmt: TSQLiteStmt): TSQLiteDB; cdecl;
SQLite3_DB_Mutex: Function(DB: PSQLiteDB): PSQLite3_Mutex_Ptr; cdecl;
SQLite3_DB_Status: Function(DB: TSQLiteDB; op: Integer; pCurrent: PInteger; pHighwater: PInteger; resetFlag: Integer): Integer; cdecl;
SQLite3_Declare_Vtab: Function(DB: TSQLiteDB; Const zCreateTable: PAnsiChar): Integer; cdecl;
SQLite3_Enable_Load_Extension: Function(DB: TSQLiteDB; onoff: Integer): Integer; cdecl;
SQLite3_Enable_Shared_Cache: Function(Value: Integer): Integer; cdecl;
SQLite3_ErrCode: Function(DB: TSQLiteDB): Integer; cdecl;
SQLite3_ErrMsg: Function(DB: TSQLiteDB): PAnsiChar; cdecl;
SQLite3_ErrMsg16: Function(DB: TSQLiteDB): PWideChar; cdecl;
SQLite3_Exec: Function(DB: TSQLiteDB; SQLStatement: PAnsiChar; Callback: TSQLite_Exec_Callback; Sender: TObject; Var ErrMsg: PAnsiChar): Integer; cdecl;
SQLite3_Extended_Errcode: Function(DB: TSQLiteDB): Integer; cdecl;
SQLite3_Extended_Result_Codes: Function(DB: TSQLiteDB; onoff: Integer): Integer; cdecl;
SQLite3_File_Control: Function(DB: PSQLiteDB; Const zDbName: PAnsiChar; op: Integer; pArg: Pointer): Integer; cdecl;
SQLite3_Finalize: Function(hStmt: TSQLiteStmt): Integer; cdecl;
SQLite3_Free: Procedure(P: PAnsiChar); cdecl;
SQLite3_FreeTable: Procedure(Table: TSQLiteResult); cdecl;
SQLite3_Get_Autocommit: Function(DB: PSQLiteDB): Integer; cdecl;
SQLite3_Get_Auxdata: Function(pCtx: TSQLite_Context; nArg: Integer): Pointer; cdecl;
SQLite3_GetTable: Function(DB: TSQLiteDB; SQLStatement: PAnsiChar; Var ResultPtr: TSQLiteResult; Var RowCount: Cardinal; Var ColCount: Cardinal; Var ErrMsg: PAnsiChar): Integer; cdecl;
SQLite3_Initialize: Function: Integer; cdecl;
SQLite3_Interrupt: Procedure(DB: TSQLiteDB); cdecl;
SQLite3_Last_Insert_RowID: Function(DB: TSQLiteDB): Int64; cdecl;
SQLite3_LibVersion: Function(): PAnsiChar; cdecl;
SQLite3_Libversion_Number: Function: Integer; cdecl;
SQLite3_Limit: Function(DB: TSQLiteDB; ID: Integer; newVal: Integer): Integer; cdecl;
SQLite3_Load_Extension: Function(DB: TSQLiteDB; Const zFile, zProc: PAnsiChar; Var pzErrMsg: PAnsiChar): Integer; cdecl;
SQLite3_Malloc: Function(nByte: Integer): Pointer; cdecl;
SQLite3_Mutex_Alloc: Function(iType: Integer): PSQLite3_Mutex_Ptr; cdecl;
SQLite3_Mutex_Enter: Procedure(P: PSQLite3_Mutex_Ptr); cdecl;
SQLite3_Mutex_Free: Procedure(P: PSQLite3_Mutex_Ptr); cdecl;
SQLite3_Mutex_Leave: Procedure(P: PSQLite3_Mutex_Ptr); cdecl;
SQLite3_Mutex_Try: Function(P: PSQLite3_Mutex_Ptr): Integer; cdecl;
SQLite3_Next_Stmt: Function(DB: TSQLiteDB; hStmt: TSQLiteStmt): TSQLiteStmt; cdecl;
SQLite3_Open: Function(dbname: PAnsiChar; Var DB: TSQLiteDB): Integer; cdecl;
SQLite3_Open16: Function(dbname: PWideChar; Var DB: TSQLiteDB): Integer; cdecl;
SQLite3_Open_v2: Function(dbname: PAnsiChar; Var DB: TSQLiteDB; Flags: Integer; Const zVfs: PAnsiChar): Integer; cdecl;
SQLite3_OS_End: Function: Integer; cdecl;
SQLite3_OS_Init: Function: Integer; cdecl;
SQLite3_Overload_Function: Function(DB: TSQLiteDB; Const zFuncName: PAnsiChar; nArg: Integer): Integer; cdecl;
SQLite3_Prepare: Function(DB: TSQLiteDB; SQLStatement: PAnsiChar; nBytes: Integer; Var hStmt: TSQLiteStmt; Var pzTail: PAnsiChar): Integer; cdecl;
SQLite3_Prepare_v2: Function(DB: TSQLiteDB; SQLStatement: PAnsiChar; nBytes: Integer; Var hStmt: TSQLiteStmt; Var pzTail: PAnsiChar): Integer; cdecl;
SQLite3_Prepare16: Function(DB: TSQLiteDB; SQLStatement: PWideChar; nBytes: Integer; Var hStmt: TSQLiteStmt; Var pzTail: PWideChar): Integer; cdecl;
SQLite3_Prepare16_v2: Function(DB: TSQLiteDB; SQLStatement: PWideChar; nBytes: Integer; Var hStmt: TSQLiteStmt; Var pzTail: PWideChar): Integer; cdecl;
SQLite3_Profile: Function(DB: TSQLiteDB; Callback: TSQLite_Profile_Callback; UserData: Pointer): Pointer; cdecl;
SQLite3_Progress_handler: Procedure(DB: TSQLiteDB; n: Integer; Callback: TSQLite_Progress_Callback; UserData: Pointer); cdecl;
SQLite3_Randomness: Procedure(n: Integer; P: Pointer); cdecl;
SQLite3_Realloc: Function(POld: Pointer; nByte: Integer): Pointer; cdecl;
SQLite3_Release_Memory: Function(n: Integer): Integer; cdecl;
SQLite3_Reset: Function(hStmt: TSQLiteStmt): Integer; cdecl;
SQLite3_Reset_Auto_Extension: Procedure; cdecl;
SQLite3_Result_Blob: Procedure(pCtx: TSQLite_Context; Const Data: Pointer; nData: Integer; xDestroy: TSQLite_Result_Destructor); cdecl;
SQLite3_Result_Double: Procedure(pCtx: TSQLite_Context; Const Data: Double); cdecl;
SQLite3_Result_Error: Procedure(pCtx: TSQLite_Context; Const Data: PAnsiChar; nData: Integer); cdecl;
SQLite3_Result_Error16: Procedure(pCtx: TSQLite_Context; Const Data: PWideChar; nData: Integer); cdecl;
SQLite3_Result_Error_code: Procedure(Context: Pointer; ErrCode: Integer); cdecl;
SQLite3_Result_Error_nomem: Procedure(Context: Pointer); cdecl;
SQLite3_Result_Error_toobig: Procedure(Context: Pointer); cdecl;
SQLite3_Result_Int: Procedure(pCtx: TSQLite_Context; Const Data: Integer); cdecl;
SQLite3_Result_Int64: Procedure(pCtx: TSQLite_Context; Const Data: Int64); cdecl;
SQLite3_Result_Null: Procedure(Context: Pointer); cdecl;
SQLite3_Result_Text: Procedure(pCtx: TSQLite_Context; Const Data: PAnsiChar; nData: Integer; xDestroy: TSQLite_Result_Destructor); cdecl;
SQLite3_Result_Text16: Procedure(pCtx: TSQLite_Context; Const Data: PWideChar; nData: Integer; xDestroy: TSQLite_Result_Destructor); cdecl;
SQLite3_Result_Text16be: Procedure(pCtx: TSQLite_Context; Const Data: PWideChar; nData: Integer; xDestroy: TSQLite_Result_Destructor); cdecl;
SQLite3_Result_Text16le: Procedure(pCtx: TSQLite_Context; Const Data: PWideChar; nData: Integer; xDestroy: TSQLite_Result_Destructor); cdecl;
SQLite3_Result_Value: Procedure(pCtx: Pointer; pValue: Pointer); cdecl;
SQLite3_Result_Zeroblob: Procedure(pCtx: TSQLite_Context; n: Integer); cdecl;
SQLite3_Rollback_Hook: Function(DB: TSQLiteDB; Callback: TSQLite_Rollback_Callback; pArg: Pointer): Pointer; cdecl;
SQLite3_Set_Authorizer: Function(DB: TSQLiteDB; Callback: TSQLite_Authorizer_Callback; UserData: Pointer): Integer; cdecl;
SQLite3_Set_Auxdata: Procedure(pCtx: TSQLite_Context; nArg: Integer; paux: Pointer; xDestroy: TSQLite_AuxData_Destructor); cdecl;
SQLite3_Shutdown: Function: Integer; cdecl;
SQLite3_Sleep: Function(ms: Integer): Integer; cdecl;
SQLite3_Soft_Heap_Limit: Procedure(n: Integer); cdecl;
SQLite3_Sql: Function(hStmt: TSQLiteStmt): PAnsiChar; cdecl;
SQLite3_Status: Function(op: Integer; pCurrent: PInteger; pHighwater: PInteger; resetFlag: Integer): Integer; cdecl;
SQLite3_Step: Function(hStmt: TSQLiteStmt): Integer; cdecl;
SQLite3_Stmt_Status: Function(hStmt: TSQLiteStmt; op: Integer; resetFlg: Integer): Integer; cdecl;
SQLite3_Table_Column_Metadata: Function(DB: TSQLiteDB; Const zDbName: PAnsiChar; Const zTableName: PAnsiChar; Const zColumnName: PAnsiChar; Const pzDataType: PAnsiChar; Const pzCollSeq: PAnsiChar; pNotNull: PInteger; pPrimaryKey: PInteger; pAutoInc: PInteger): Integer; cdecl;
SQLite3_Threadsafe: Function: Integer; cdecl;
SQLite3_TotalChanges: Function(DB: TSQLiteDB): Integer; cdecl;
SQLite3_Trace: Function(DB: TSQLiteDB; Callback: TSQLite_Trace_Callback; UserData: Pointer): Pointer; cdecl;
SQLite3_Update_Hook: Function(DB: TSQLiteDB; xCallback: TSQLite_Update_Callback; Part: Pointer): Pointer; cdecl;
SQLite3_User_Data: Function(pCtx: TSQLite_Context): Pointer; cdecl;
SQLite3_Value_Blob: Function(Value: Pointer): Pointer; cdecl;
SQLite3_Value_Bytes: Function(Value: Pointer): Integer; cdecl;
SQLite3_Value_Bytes16: Function(Value: Pointer): Integer; cdecl;
SQLite3_Value_Double: Function(Value: Pointer): Double; cdecl;
SQLite3_Value_Int: Function(Value: Pointer): Integer; cdecl;
SQLite3_Value_Int64: Function(Value: Pointer): Int64; cdecl;
SQLite3_Value_Numeric_Type: Function(Value: Pointer): Integer; cdecl;
SQLite3_Value_Text: Function(Value: Pointer): PAnsiChar; cdecl;
SQLite3_Value_Text16: Function(Value: Pointer): PWideChar; cdecl;
SQLite3_Value_Text16be: Function(Value: Pointer): PWideChar; cdecl;
SQLite3_Value_Text16le: Function(Value: Pointer): PWideChar; cdecl;
SQLite3_Value_Type: Function(Value: Pointer): Integer; cdecl;
SQLite3_Vfs_Find: Function(Const zVfsName: PAnsiChar): PSQLite3_Vfs_Ptr; cdecl;
SQLite3_Vfs_Register: Function(pVfs: PSQLite3_Vfs_Ptr; makeDflt: Integer): Integer; cdecl;
SQLite3_Vfs_Unregister: Function(pVfs: PSQLite3_Vfs_Ptr): Integer; cdecl;
SQLite3_Win32_Mbcs_TO_UTF8: Function(zFilename: PAnsiChar): PAnsiChar; cdecl;
//For SQLite 3.6.11
{
SQLite3_Backup_Init: Function(pDest: TSQLiteDB; zDestName: PAnsiChar; pSource: TSQLiteDB; zSourceName: PAnsiChar): TSQLiteBackup; cdecl;
SQLite3_Backup_Step: Function(p: TSQLiteBackup; nPage: Integer): Integer; cdecl;
SQLite3_Backup_Finish: Function(p: TSQLiteBackup): Integer; cdecl;
SQLite3_Backup_Remaining: Function(p: TSQLiteBackup): Integer; cdecl;
SQLite3_Backup_Pagecount: Function(p: TSQLiteBackup): Integer; cdecl;
}
Function IsSQLiteDBCrypted(Const FileName: WideString): Boolean;
Function SQLite3LoadLibrary: boolean;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -