if
(!(rv = sqlite3_open(szdbname, &db)))
} sqlite3的insert語句由於要插入數值,一般使用萬用字元'?',然後將每個問號和資料一一繫結。
如上例中,我們可以用
[cpp]view plain
copy
print?
insert into problem_people values(?,%d,?,?,?,null,null);"
代替sprintf函式,而後使用sqlite3_bind_text等函式進行對應的繫結。
在原例中,由於插入資料為字串,該欄位需要用單引號括起,而在萬用字元例子中無需使用單引號。
值得注意的是,當字串為數字時,sql語句會自動轉換數字為字串,也無需使用單引號。
如果你應該使用單引號,而沒有寫上去,sqlite會告訴你sqlite3_misuse的錯誤。這說明sql語句有誤。
還有最後乙個問題。在原例中,我並沒有將第乙個問號匹配,這是因為sqlite中有一項預設規定,只要integer欄位作為主鍵,插入時將其設為?就能做到自增,這是一項挺方便的設定。
SQLITE3中INSERT語句的注意事項
if rv sqlite3 open szdbname,db sqlite3的insert語句由於要插入數值,一般使用萬用字元 然後將每個問號和資料一一繫結。如上例中,我們可以用 insert into problem people values d,null,null 代替sprintf函式,而後...
使用sqlite3 模組操作sqlite3資料庫
python內建了sqlite3模組,可以操作流行的嵌入式資料庫sqlite3。如果看了我前面的使用 pymysql 操作mysql資料庫這篇文章就更簡單了。因為它們都遵循pep 249,所以操作方法幾乎相同。廢話就不多說了,直接看 吧。都差不多,首先匯入模組,然後建立連線,然後獲取游標物件,之後利...
SQLite3中TimeStamp的使用問題
color blue 在使用sqlite3時使用了timestamp,但是遇到一些問題,現總結如下 一 我的sql語句 create table logs id integer primary key,idcardno varchar 50 createdtime timestamp not nul...