freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[計算機軟件及應(yīng)用]sqlite-文庫吧

2025-08-03 16:27 本頁面


【正文】 _name(sqlite3_stmt*, int iCol)。 const void *sqlite3_column_name16(sqlite3_stmt*, int iCol)。 const unsigned char *sqlite3_column_text(sqlite3_stmt*, int iCol)。 const void *sqlite3_column_text16(sqlite3_stmt*, int iCol)。 int sqlite3_column_type(sqlite3_stmt*, int iCol)。sqlite3_column_count()函數(shù)返回結(jié)果集中包含的列數(shù). sqlite3_column_count() 可以在執(zhí)行了 sqlite3_prepare()之后的任何時刻調(diào)用. sqlite3_data_count()除了必需要在sqlite3_step()之后調(diào)用之外,其他跟sqlite3_column_count() 大同小異. 如果調(diào)用sqlite3_step() 返回值是 SQLITE_DONE 或者一個錯誤代碼, 則此時調(diào)用sqlite3_data_count() 將返回 0 ,然而 sqlite3_column_count() 仍然會返回結(jié)果集中包含的列數(shù).返回的記錄集通過使用其它的幾個 sqlite3_column_***() 函數(shù)來提取, 所有的這些函數(shù)都把列的編號作為第二個參數(shù). 列編號從左到右以零起始. 請注意它和之前那些從1起始的參數(shù)的不同.sqlite3_column_type()函數(shù)返回第N列的值的數(shù)據(jù)類型. 具體的返回值如下: define SQLITE_INTEGER 1 define SQLITE_FLOAT 2 define SQLITE_TEXT 3 define SQLITE_BLOB 4 define SQLITE_NULL 5sqlite3_column_decltype() 則用來返回該列在 CREATE TABLE 語句中聲明的類型. 它可以用在當返回類型是空字符串的時候. sqlite3_column_name() 返回第N列的字段名. sqlite3_column_bytes() 用來返回 UTF8 編碼的BLOBs列的字節(jié)數(shù)或者TEXT字符串的字節(jié)數(shù). sqlite3_column_bytes16() 對于BLOBs列返回同樣的結(jié)果,但是對于TEXT字符串則按 UTF16 的編碼來計算字節(jié)數(shù). sqlite3_column_blob() 返回 BLOB 數(shù)據(jù). sqlite3_column_text() 返回 UTF8 編碼的 TEXT 數(shù)據(jù). sqlite3_column_text16() 返回 UTF16 編碼的 TEXT 數(shù)據(jù). sqlite3_column_int() 以本地主機的整數(shù)格式返回一個整數(shù)值. sqlite3_column_int64() 返回一個64位的整數(shù). 最后, sqlite3_column_double() 返回浮點數(shù).不一定非要按照sqlite3_column_type()接口返回的數(shù)據(jù)類型來獲取數(shù)據(jù). 數(shù)據(jù)類型不同時軟件將自動轉(zhuǎn)換. 用戶自定義函數(shù)可以使用以下的方法來創(chuàng)建用戶自定義的SQL函數(shù): typedef struct sqlite3_value sqlite3_value。 int sqlite3_create_function( sqlite3 *, const char *zFunctionName, int nArg, int eTextRep, void*, void (*xFunc)(sqlite3_context*,int,sqlite3_value**), void (*xStep)(sqlite3_context*,int,sqlite3_value**), void (*xFinal)(sqlite3_context*) )。 int sqlite3_create_function16( sqlite3*, const void *zFunctionName, int nArg, int eTextRep, void*, void (*xFunc)(sqlite3_context*,int,sqlite3_value**), void (*xStep)(sqlite3_context*,int,sqlite3_value**), void (*xFinal)(sqlite3_context*) )。 define SQLITE_UTF8 1 define SQLITE_UTF16 2 define SQLITE_UTF16BE 3 define SQLITE_UTF16LE 4 define SQLITE_ANY 5nArg 參數(shù)用來表明自定義函數(shù)的參數(shù)個數(shù). 如果參數(shù)值為0,則表示接受任意個數(shù)的參數(shù). 用 eTextRep 參數(shù)來表明傳入?yún)?shù)的編碼形式. 參數(shù)值可以是上面的五種預(yù)定義值. SQLite3 允許同一個自定義函數(shù)有多種不同的編碼參數(shù)的版本. 數(shù)據(jù)庫引擎會自動選擇轉(zhuǎn)換參數(shù)編碼個數(shù)最少的版本使用.普通的函數(shù)只需要設(shè)置 xFunc 參數(shù),而把 xStep 和 xFinal 設(shè)為NULL. 聚合函數(shù)則需要設(shè)置 xStep 和 xFinal 參數(shù),然后把 xFunc 設(shè)為NULL. 該方法和使用sqlite3_create_aggregate() API一樣.sqlite3_create_function16()和sqlite_create_function()的不同就在于自定義的函數(shù)名一個要求是 UTF16 編碼,而另一個則要求是 UTF8.請注意自定函數(shù)的參數(shù)目前使用了sqlite3_value結(jié)構(gòu)體指針替代了SQLite version . 下面的函數(shù)用來從sqlite3_value結(jié)構(gòu)體中提取數(shù)據(jù): const void *sqlite3_value_blob(sqlite3_value*)。 int sqlite3_value_bytes(sqlite3_value*)。 int sqlite3_value_bytes16(sqlite3_value*)。 double sqlite3_value_double(sqlite3_value*)。 int sqlite3_value_int(sqlite3_value*)。 long long int sqlite3_value_int64(sqlite3_value*)。 const unsigned char *sqlite3_value_text(sqlite3_value*)。 const void *sqlite3_value_text16(sqlite3_value*)。 int sqlite3_value_type(sqlite3_value*)。上面的函數(shù)調(diào)用以下的API來獲得上下文內(nèi)容和返回結(jié)果: void *sqlite3_aggregate_context(sqlite3_context*, int nbyte)。 void *sqlite3_user_data(sqlite3_context*)。 void sqlite3_result_blob(sqlite3_context*, const void*, int n, void(*)(void*))。 void sqlite3_result_double(sqlite3_context*, double)。 void sqlite3_result_error(sqlite3_context*, const char*, int)。 void sqlite3_result_error16(sqlite3_context*, const void*, int)。 void sqlite3_result_int(sqlite3_context*, int)。 void sqlite3_result_int64(sqlite3_context*, long long int)。 void sqlite3_result_null(sqlite3_context*)。 void sqlite3_result_text(sqlite3_context*, const char*, int n, void(*)(void*))。 void sqlite3_result_text16(sqlite3_context*, const void*, int n, void(*)(void*))。 void sqlite3_result_value(sqlite3_context*, sqlite3_value*)。 void *sqlite3_get_auxdata(sqlite3_context*, int)。 void sqlite3_set_auxdata(sqlite3_context*, int, void*, void (*)(void*))。 用戶自定義排序規(guī)則下面的函數(shù)用來實現(xiàn)用戶自定義的排序規(guī)則: sqlite3_create_collation(sqlite3*, const char *zName, int eTextRep, void*, int(*xCompare)(void*,int,const void*,int,const void*))。 sqlite3_create_collation16(sqlite3*, const void *zName, int eTextRep, void*, int(*xCompare)(void*,int,const void*,int,const void*))。 sqlite3_collation_needed(sqlite3*, void*, void(*)(void*,sqlite3*,int eTextRep,const char*))。 sqlite3_collation_needed16(sqlite3*, void*, void(*)(void*,sqlite3*,int eTextRep,const void*))。sqlite3_create_collation() 函數(shù)用來聲明一個排序序列和實現(xiàn)它的比較函數(shù). 比較函數(shù)只能用來做文本的比較. eTextRep 參數(shù)可以取如下的預(yù)定義值 SQLITE_UTF8, SQLITE_UTF16LE, SQLITE_UTF16BE, SQLITE_ANY,用來表示比較函數(shù)所處理的文本的編碼方式. 同一個自定義的排序規(guī)則的同一個比較函數(shù)可以有 UTF8, UTF16LE 和 UTF16BE 等多個編碼的版本. sqlite3_create_collation16()和sqlite3_create_collation() 的區(qū)別也僅僅在于排序名稱的編碼是 UTF16 還是 UTF8.可以使用 sqlite3_collation_needed() 函數(shù)來注冊一個回調(diào)函數(shù),當數(shù)據(jù)庫引擎遇到未知的排序規(guī)則時會自動調(diào)用該函數(shù). 在回調(diào)函數(shù)中可以查找一個相似的比較函數(shù),并激活相應(yīng)的sqlite_3_create_collation()函數(shù). 回調(diào)函數(shù)的第四個參數(shù)是排序規(guī)則的名稱,同樣sqlite3_collation_needed采用 UTF8 編碼. sqlite3_collation_need16() 采用 UTF16 編碼. 數(shù)據(jù)庫的操作我們在這個項目中使用的是SQLITE3數(shù)據(jù)庫軟件。通過使用SQLITE3進行創(chuàng)建數(shù)據(jù)庫,創(chuàng)建表,插入記錄,查詢記錄,更新記錄,關(guān)閉數(shù)據(jù)庫等操作來實現(xiàn)將相應(yīng)的數(shù)據(jù)存入數(shù)據(jù)庫中。1. 打開數(shù)據(jù)庫,創(chuàng)建表 sqlite * db。 定義一個sqlite * 的變量sqlite3_open(“./”,amp。db)。 sql = create table weblink(id integer primary key,domain text,page text,fromdomain text,status integer)。在已打開的數(shù)據(jù)庫中創(chuàng)建一個名weblink的表。表的屬性如下:id integer primary key :ID號(表中黙認包含的)domain text : 域名page text :子網(wǎng)頁 fromdomain text :源域名status integer :狀態(tài)標志域名與子網(wǎng)頁由從源域名的網(wǎng)頁中獲取的網(wǎng)址折分而來。eg: 域名為:子網(wǎng)頁: sqlite3_exec(db,sql,NULL,NULL,NULL)。執(zhí)行一條 sql 語句的函數(shù)。函數(shù)原型:int sqlite3_exec(sqlite3*, const char *sql, sqlite3_callback, void *, char **errmsg )第1個參數(shù)是前面open函數(shù)得到的指針。說了是關(guān)鍵數(shù)據(jù)結(jié)構(gòu)。第2個參數(shù)const char *sql 是一條 sql 語句,以\0結(jié)尾。第3個參數(shù)sqlite3_callback 是回調(diào),當這條語句執(zhí)行之后,sqlite3會去調(diào)用你提供的這個函數(shù)。(什么是回調(diào)函數(shù),自己找別的資料學(xué)習(xí))第4個參數(shù)void *是你所提供的指針,你可以傳遞任何一個指針參數(shù)到這里,這個參數(shù)最終會傳到回調(diào)函數(shù)里面,如果不需要傳遞指針給回調(diào)函數(shù),可以填NULL。等下我們再看回調(diào)函數(shù)的寫法,以及這個參數(shù)的使用。第5個參數(shù)char ** errmsg 是錯誤信息。注意是指針的指針。sqlite3里面有很多固定的錯誤信息。執(zhí)行 sqlite3_exec 之后,執(zhí)行失敗時可以查閱這個指針(直接 printf(“%s\n
點擊復(fù)制文檔內(nèi)容
外語相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1