SQlite資料庫的C編程介面(一) 簡介 by斜風細雨QQ:253786989 2012-02-01
客戶應用程式可以通過SQlite提供的C API與SQlite library和資料庫引擎互動,從而完成相應的資料操作。c/c++程式設計語言可以直接使用這些native C APIs,對於其它一些程式設計語言包括Python等指令碼語言,可以通過一些第三方封裝庫來訪問SQlite,這些封裝庫的底層還是通過C API來完成相應功能的。所以如果要在自己的app中使用SQlite,非常有必要先瞭解它提供的C APIs。
這些C APIs的作用就是將客戶app中的SQL語句傳遞給SQlite資料庫引擎,從而完成查詢資料,增刪改等操作。所以要想學會使用SQlite資料庫,就必須要學會寫基本的SQL語句,瞭解基本的SQL標準文法,這可以找本講SQL語言的書籍簡單看看,最快的方式還是在實踐中學習。
SQlite的C APIs包括一定數量的資料結構,接近二百個函數,還有兩三百個常量。雖然API的數量比較多,但用起來並不複雜,其中只有一部分函數是經常使用的,還有很多函數的功能相似,如:
對於SQlite3,所有的API函數都有一個首碼:sqlite3_。這個首碼表明這些APIs由SQlite資料庫產品提供,3代表版本。所有的常量都有一個首碼:SQLITE_。SQlite資料庫的源碼是完全開放的,對於提供給客戶應用程式調用的APIs,函數名全部由小寫字元組成。如sqlite3_create_function_v2就是一個PUBLIC API,而sqlite3CreateFunc就是一個SQlite內建函式。
SQLITE_API int sqlite3_create_function_v2(){ ... ... rc = sqlite3CreateFunc(db, zFunc, nArg, enc, p, xFunc, xStep, xFinal, pArg); ... ...}
對於使用SQlite資料庫的客戶來說,提供一套穩定的API非常重要,否則SQlite每出來一個Release版本,之前的API就煥然一新,那客戶應用程式就需要修改自己的APP,付出很大的維護代價。所以SQlite資料庫的API,一旦發布就不會刪除或者修改,如果某個API確實有必要改進,就會提供一個加了“v2”尾碼的新API函數,而保留以前的舊版本,這樣客戶APP無需修改依然可以正常運行。比如:sqlite3_create_function、sqlite3_create_function_v2。
調用SQlite API時,如果成功則會返回SQLITE_OK,如果調用失敗將返回一個錯誤碼(Error code),指明發生了什麼錯誤。對API調用的傳回值進行適當檢查,可以提高程式的健壯性。
SQlite資料庫的C編程介面(一) 簡介 by斜風細雨QQ:253786989 2012-02-01