Code archives/User Libs/SQLite 3 decls

This code has been declared by its author to be Public Domain code.

Download source code

SQLite 3 decls by HappyCat2005
Here's a .decls for SQLite 3.

Wrapper functions are also available.
; Tested with SQLite version 3.2.2

; SQLite3 available from:    http://www.sqlite.org
; SQLite3 API documentation: http://www.sqlite.org/capi3ref.html

.lib "sqlite3.dll"


; SQLLite3 Functions Included --------------------------------------------------

; sqlite3_bind_blob
; sqlite3_bind_double
; sqlite3_bind_int
; sqlite3_bind_null
; sqlite3_bind_parameter_count
; sqlite3_bind_parameter_index
; sqlite3_bind_parameter_name
; sqlite3_bind_text
; sqlite3_busy_timeout
; sqlite3_changes
; sqlite3_close
; sqlite3_column_blob
; sqlite3_column_bytes
; sqlite3_column_count
; sqlite3_column_decltype
; sqlite3_column_double
; sqlite3_column_int
; sqlite3_column_name
; sqlite3_column_text
; sqlite3_column_type
; sqlite3_complete
; sqlite3_data_count
; sqlite3_db_handle
; sqlite3_errcode
; sqlite3_errmsg
; sqlite3_exec
; sqlite3_expired
; sqlite3_finalize
; sqlite3_get_autocommit
; sqlite3_interrupt
; sqlite3_last_insert_rowid
; sqlite3_libversion
; sqlite3_open
; sqlite3_prepare
; sqlite3_reset
; sqlite3_step
; sqlite3_total_changes
; sqlite3_transfer_bindings


; Notes --------------------------------------------------------------

; For functions that return a handle as an out parameter (ie. the 
; Handle* parameters of SQLite3_Open and SQLite3_Prepare)
; declare a Type with a single integer field, for example:

;	Type HandleContainer
;		Field TheHandle
;	End Type

; then pass an instance of the Type in as the required parameter.
; When it's done the integer field of the instance will contain the
; handle that you have to pass into the other functions.


; Opening and Closing ------------------------------------------------

SQLite3_Open%(Filename$, DatabaseHandle*) : "sqlite3_open"
SQLite3_Close%(DatabaseHandle) : "sqlite3_close"


; Misc ---------------------------------------------------------------

SQLite3_LibVersion$() : "sqlite3_libversion"
SQLite3_Busy_TimeOut%(DatabaseHandle, TimeOut): "sqlite3_busy_timeout"
SQLite3_Get_AutoCommit%(DatabaseHandle) : "sqlite3_get_autocommit"
SQLite3_Interrupt(DatabaseHandle) : "sqlite3_interrupt"


; Errors -------------------------------------------------------------

SQLite3_ErrCode%(DatabaseHandle) : "sqlite3_errcode"
SQLite3_ErrMsg$(DatabaseHandle) : "sqlite3_errmsg"

; Always seems to return 0.
SQLite3_Complete%(SQL$) : "sqlite3_complete"


; Executing SQL without results --------------------------------------

; As Blitz3D doesn't have function pointers the CallBack is pointless
; and this can only really be used for result-less SQL statements.
; Also, I've never got the Error return to work. So just pass in
; zeros for the last three parameters and use SQLite3_ErrMsg if you
; need to get the error message.
SQLite3_Exec%(DatabaseHandle, SQL$, CallBack, FirstParam, Error) : "sqlite3_exec"

SQLite3_Changes%(DatabaseHandle): "sqlite3_changes"
SQLite3_Total_Changes%(DatabaseHandle) : "sqlite3_total_changes"
SQLite3_Last_Insert_RowID%(DatabaseHandle): "sqlite3_last_insert_rowid"


; Executing SQL with results -----------------------------------------

; Never got the SQLTail to work so just pass in a zero.
SQLite3_Prepare%(DatabaseHandle, SQL$, LengthOfSQL, StatementHandle*, SQLTail) : "sqlite3_prepare"

SQLite3_Step%(StatementHandle) : "sqlite3_step"
SQLite3_Reset%(StatementHandle) : "sqlite3_reset"
SQLite3_Finalize%(StatementHandle) : "sqlite3_finalize"
SQLite3_Data_Count%(StatementHandle) : "sqlite3_data_count"
SQLite3_DB_Handle%(StatementHandle) : "sqlite3_db_handle"

; Probably not required as none of the functions that can cause a
; statement to expire are included here.
SQLite3_Expired%(StatementHandle): "sqlite3_expired"


; SQL Parameter Binding ----------------------------------------------

SQLite3_Bind_Parameter_Count%(StatementHandle): "sqlite3_bind_parameter_count"
SQLite3_Bind_Parameter_Index%(StatementHandle, ParameterName$): "sqlite3_bind_parameter_index"
SQLite3_Bind_Parameter_Name$(StatementHandle, ParameterIndex): "sqlite3_bind_parameter_name"

; Never tested this for real, but it should work.
SQLite3_Transfer_Bindings%(StatementHandle1, StatementHandle2): "sqlite3_transfer_bindings"

SQLite3_Bind_Null%(StatementHandle, Index) : "sqlite3_bind_null"
SQLite3_Bind_Int%(StatementHandle, Index, Value) : "sqlite3_bind_int"

; If you pass -1 for LengthOfText it will work it out for itself.
; Pass a zero in for Destructor.
SQLite3_Bind_Text%(StatementHandle, Index, Value$, LengthOfText, Destructor) : "sqlite3_bind_text"

; Never tried this so it probably won't work.
; Pass a zero in for Destructor.
SQLite3_Bind_Blob%(StatementHandle, Index, Value, LengthOfBlob, Destructor) : "sqlite3_bind_blob"

; Doesn't seem to work unfortunately.
SQLite3_Bind_Double%(StatementHandle, Index, Value#) : "sqlite3_bind_double"


; Getting values from executed SQL  ----------------------------------

SQLite3_Column_Count%(StatementHandle): "sqlite3_column_count"
SQLite3_Column_Name$(StatementHandle, ColumnIndex) : "sqlite3_column_name"
SQLite3_Column_Type%(StatementHandle, ColumnIndex) : "sqlite3_column_type"
SQLite3_Column_DeclType$(StatementHandle, ColumnIndex) : "sqlite3_column_decltype"
SQLite3_Column_Int%(StatementHandle, ColumnIndex) : "sqlite3_column_int"
SQLite3_Column_Double#(StatementHandle, ColumnIndex) : "sqlite3_column_double"
SQLite3_Column_Text$(StatementHandle, ColumnIndex) : "sqlite3_column_text"
SQLite3_Column_Bytes%(StatementHandle, ColumnIndex) : "sqlite3_column_bytes"

; Never tried this so it probably won't work.
SQLite3_Column_Blob%(StatementHandle, ColumnIndex) : "sqlite3_column_blob"


; SQLite3 Functions Not Included --------------------------------------

; The following SQLite3 functions have not been included here:

; sqlite3_aggregate_context	- used by user defined functions, which aren't included here
; sqlite3_aggregate_count	- used by user defined functions, which aren't included here
; sqlite3_bind_int64		- Int64 means nothing to Blitz, use Int version instead
; sqlite3_bind_text16		- UTF16 means nothing to Blitz, use normal version instead
; sqlite3_busy_handler		- requires function pointers, which Blitz doesn't have
; sqlite3_clear_bindings	- just didn't work, claimed that function didn't exist in the .dll
; sqlite3_collation_needed	- requires function pointers, which Blitz doesn't have
; sqlite3_collation_needed16	- requires function pointers, which Blitz doesn't have
; sqlite3_column_bytes16	- UTF16 means nothing to Blitz, use normal version instead
; sqlite3_column_decltype16	- UTF16 means nothing to Blitz, use normal version instead
; sqlite3_column_int64		- Int64 means nothing to Blitz, use Int version instead
; sqlite3_column_name16		- UTF16 means nothing to Blitz, use normal version instead
; sqlite3_column_text16		- UTF16 means nothing to Blitz, use normal version instead
; sqlite3_commit_hook		- requires function pointers, which Blitz doesn't have
; sqlite3_complete16		- UTF16 means nothing to Blitz, use normal version instead
; sqlite3_create_collation	- requires function pointers, which Blitz doesn't have
; sqlite3_create_collation16	- requires function pointers, which Blitz doesn't have
; sqlite3_create_function	- requires function pointers, which Blitz doesn't have
; sqlite3_create_function16	- requires function pointers, which Blitz doesn't have
; sqlite3_errmsg16		- UTF16 means nothing to Blitz, use normal version instead
; sqlite3_free			- only really required by C
; sqlite3_get_table		- couldn't work out how to get the data out
; sqlite3_free_table		- not required as I couldn't get sqlite3_get_table to work
; sqlite3_global_recover	- only really required by C
; sqlite3_mprintf		- only really required by C
; sqlite3_open16		- UTF16 means nothing to Blitz, use normal version instead
; sqlite3_prepare16		- UTF16 means nothing to Blitz, use normal version instead
; sqlite3_progress_handler	- requires function pointers, which Blitz doesn't have
; sqlite3_result_blob		- used by user defined functions, which aren't included here
; sqlite3_result_double		- used by user defined functions, which aren't included here
; sqlite3_result_error		- used by user defined functions, which aren't included here
; sqlite3_result_error16	- used by user defined functions, which aren't included here
; sqlite3_result_int		- used by user defined functions, which aren't included here
; sqlite3_result_int64		- used by user defined functions, which aren't included here
; sqlite3_result_null		- used by user defined functions, which aren't included here
; sqlite3_result_text		- used by user defined functions, which aren't included here
; sqlite3_result_text16		- used by user defined functions, which aren't included here
; sqlite3_result_text16be	- used by user defined functions, which aren't included here
; sqlite3_result_text16le	- used by user defined functions, which aren't included here
; sqlite3_result_value		- used by user defined functions, which aren't included here
; sqlite3_set_authorizer	- requires function pointers, which Blitz doesn't have
; sqlite3_sleep			- just didn't work, claimed that function didn't exist in the .dll
; sqlite3_trace			- requires function pointers, which Blitz doesn't have
; sqlite3_user_data		- used by user defined functions, which aren't included here
; sqlite3_value_blob		- used by user defined functions, which aren't included here
; sqlite3_value_bytes		- used by user defined functions, which aren't included here
; sqlite3_value_bytes16		- used by user defined functions, which aren't included here
; sqlite3_value_double		- used by user defined functions, which aren't included here
; sqlite3_value_int		- used by user defined functions, which aren't included here
; sqlite3_value_int64		- used by user defined functions, which aren't included here
; sqlite3_value_text		- used by user defined functions, which aren't included here
; sqlite3_value_text16		- used by user defined functions, which aren't included here
; sqlite3_value_text16be	- used by user defined functions, which aren't included here
; sqlite3_value_text16le	- used by user defined functions, which aren't included here
; sqlite3_value_type		- used by user defined functions, which aren't included here
; sqlite3_vmprintf		- only really required by C

Comments

RustyKristi2016
This is a mirror exact copy of the lib for posterity:

http://www.mediafire.com/download/82ih4mawri46vnj/SQLite3.zip


Code Archives Forum