libsqlited: SQLiteDBMS client API
1. Structures
sqlited
sqlited_result
2. Return codes
#define SQLITED_OK 200
#define SQLITED_CONNECTED 110
#define SQLITED_CLOSED 120
#define SQLITED_REQUEST_END 130
#define SQLITED_RESPONSE_END 130
#define SQLITED_MSG 290
#define SQLITED_NOT_CONNECT 400
#define SQLITED_AUTH 401
#define SQLITED_BAD_FORMAT 403
#define SQLITED_EMPTY 404
#define SQLITED_ERROR 500
#define SQLITED_NOMEM 510
#define SQLITED_ERROR_SEND 520
#define SQLITED_RESULT 0
#define SQLITED_RESULT_MSG 1
#define SQLITED_RESULT_EMTPY -1
3. Connection
sqlited_open
int sqlited_open( sqlited **db, const char *conninfo );
sqlited_close
void sqlited_close( sqlited *db );
4. Query and free result
sqlited_open
sqlited_result *sqlited_query( sqlited *db, const char *query );
sqlited_free_result
void sqlited_free_result( sqlited_result *result );
5. Result information
sqlited_last_insert_rowid
sqlited_int64 sqlited_last_insert_rowid( sqlited *db );
sqlited_changes
sqlited_int64 sqlited_changes( sqlited *db );
sqlited_total_changes
sqlited_int64 sqlited_total_changes( sqlited *db );
sqlited_num_rows
sqlited_int64 sqlited_num_rows( sqlited_result *result );
sqlited_num_fields
unsigned int sqlited_num_fields( sqlited_result *result );
sqlited_field_name
const char *sqlited_field_name( sqlited_result *result, unsigned int idx );
6. Fetch data
sqlited_fetch_all
int sqlited_fetch_all( sqlited_result *result, char ****resultp, sqlited_int64 *nrow, unsigned int *nfield );
sqlited_row_seek
sqlited_int64 sqlited_row_seek( sqlited_result *result, sqlited_int64 seek );
sqlited_fetch_row
const char **sqlited_fetch_row( sqlited_result *result );
sqlited_fetch_result
const char *sqlited_fetch_result( sqlited_result *result, sqlited_int64 seek, unsigned int field );
sqlited_fetch_msg
const char *sqlited_fetch_msg( struct sqlited_result *result );
7. Error and information
sqlited_error
extern char *sqlited_error;
sqlited_getmsg
const char *sqlited_getmsg( sqlited *db );
8. Sample code
1. Sample1
#include <sqlited.h>
int main( int argc, char *argv[] )
{
extern char *sqlited_error;
sqlited *db;
int res;
sqlited_result *result;
char ***table;
sqlited_int64 rows;
unsigned int fields;
res = sqlited_open( &db, "admin:password@localhost:6543/TEST" );
if ( res != SQLITED_OK )
{
printf( "%s\n", sqlited_error );
return 1;
}
result = sqlited_query( db, "SELECT * FROM test" );
if ( result != NULL )
{
if ( sqlited_result_type( result ) == SQLITED_RESULT )
{
if ( sqlited_fetch_all( result, &table, &rows, &fields ) == SQLITED_OK )
{
printf("Rows: %lld\nFields: %d\nFirst field name: %s\nValue at 0 by 0: %s\n",
rows, fields, sqlited_field_name(result, 0), table[0][0]);
/*
* Rows: number of rows
* Fields: number of fields
* First field name: name of first field
* Value at 0 by 0: value at 0 row and 0 field
*/
}
}
else
{
printf("Return message: %s\n", sqlited_fetch_msg( result ) );
}
sqlited_free_result( result );
}
sqlited_close( db );
return 0;
}