linux中對SQLite3函式的封裝

2021-06-27 18:28:59 字數 1568 閱讀 8954

個人對sqlite3資料庫函式增刪改查的封裝

/*version 1.0*/

#include

#include

#include

#include

#include

#define path  "water.db" //可以根據具體情況更改資料庫位址

char *zerrmsg = null;

const char *error = null;

sqlite3_stmt *stmt = null;

//開啟資料庫

sqlite3* opendb()

else

printf("open database sucess\n");

return db;

}//關閉資料庫

int closedb(sqlite3* db)

//insert操作二進位制資料

void insertoperation(sqlite3 *db,int id,char *name)

char _headimage[3] = ;

sqlite3_bind_blob(stmt,1,&_headimage,3,null);//二進位制資料 //進行資料繫結

rc =sqlite3_step(stmt);

if(rc!=sqlite_done)

printf("插入成功!\n");

sqlite3_finalize(stmt);

}//update操作

void updateoperation(sqlite3 *db)

char _headimage[3] = ;

sqlite3_bind_blob(stmt,1,&_headimage,3,null);//二進位制資料

rc =sqlite3_step(stmt);

if(rc!=sqlite_done)

printf("update成功!\n");

sqlite3_finalize(stmt);

}//刪除操作

void deleteoperation(sqlite3 *db,int id)

rc =sqlite3_step(stmt);

if(rc!=sqlite_done)

printf("刪除成功!\n");

sqlite3_finalize(stmt);

}void selectoperation(sqlite3 *db)

while(1)

int studentid =sqlite3_column_int(stmt,0);

const unsigned char * studentname = sqlite3_column_text(stmt,1);

const void * image =sqlite3_column_blob(stmt,2);

printf("studentid is %d ,name is %s,headimage is %s \n",studentid,studentname,(char *)image);}}

int main()

return 0;

}

使用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...

Django中SQLite3的使用

from django.db import models class blogarticle models.model title models.charfield max length 50 author models.charfield max length 20 time models.int...