使用C 語言 sqlite3 的建立,查詢,新增

2021-06-27 05:05:16 字數 2458 閱讀 5319

編譯加上連線庫 -lsqlite3

#include #include #include #include #define db_name "zb.db"

#define true 1

#define false 0

sqlite3 *pdb = null;

char *errmsg = null;

//建立資料庫 zb.db

int open_db()

return 0;

}//建立表 student

int creat_table()

return 0;

}/*資料插入*/

int insert_data()

//open_db();

creat_table();

strcpy(strsql, "insert into student");

strcat(strsql , " values(? , ? , ?);");

sqlite3_stmt *stmt = null;

rc = sqlite3_prepare_v2(pdb , strsql , strlen(strsql) , &stmt , null);

if(rc != sqlite_ok)

sqlite3_close(pdb);

return -1;

}while(flag)

sqlite3_reset(stmt);

printf("do you want to do insert ?(0 break, 1 insert):\n");

scanf("%d", &flag);

}sqlite3_finalize(stmt);

printf("insert success!\n");

sqlite3_close(pdb);

return 0;

}/*資料的查詢*/

int search_data()

char *strsql = "select * from student" ;

sqlite3_stmt *stmt = null;

rc = sqlite3_prepare_v2(pdb , strsql , strlen(strsql) , &stmt , null);

if(rc != sqlite_ok)

sqlite3_close(pdb);

return -1;

}/*sqlite3_column_count()函式返回結果集中包含的列數.

sqlite3_column_count() 可以在執行了 sqlite3_prepare()之後的任何時刻呼叫.

sqlite3_data_count()除了必需要在sqlite3_step()之後呼叫之外,其他跟

sqlite3_column_count() 大同小異. 如果呼叫sqlite3_step() 返回值是

sqlite_done 或者乙個錯誤**, 則此時呼叫sqlite3_data_count() 將返回 0 ,

然而 sqlite3_column_count() 仍然會返回結果集中包含的列數.

sqlite3_column_type()函式返回第n列的值的資料型別. 具體的返回值如下:

#define sqlite_integer 1

#define sqlite_float 2

#define sqlite_text 3

#define sqlite_blob 4

#define sqlite_null 5

sqlite3_setp()

用於執行有前面sqlite3_prepare建立的準備語句。這個語句,執行到結果的第一行可用的位置。

繼續前進(執行)到結果的第二行的話,只需再次呼叫sqlite3_setp()。繼續呼叫sqlite3_setp()

直到這個語句完成。

不返回結果的語句(如:insert,update,或delete),sqlite3_step()只執行一次就返回。

*/ int ncolumn = sqlite3_column_count(stmt); //ncolumn 表的列數

int vtype , i;

doelse if(vtype == sqlite_text)

else if(vtype == sqlite_null)

}printf("---------------\n");

}else if(rc == sqlite_done)

else

}while(1);

sqlite3_finalize(stmt);

sqlite3_close(pdb);

return 0;

}int main(int argc , char **argv)

return 0;

}

go語言使用sqlite3

1 在執行命令視窗建立資料庫和sql表d go src mytest sqlite3 建立資料表,使用.open命令,如果有這個資料庫開啟,若沒有則建立 sqlite open userdb.db 檢視當前使用的資料庫 sqlite database main d go src mytest use...

使用sqlite3 模組操作sqlite3資料庫

python內建了sqlite3模組,可以操作流行的嵌入式資料庫sqlite3。如果看了我前面的使用 pymysql 操作mysql資料庫這篇文章就更簡單了。因為它們都遵循pep 249,所以操作方法幾乎相同。廢話就不多說了,直接看 吧。都差不多,首先匯入模組,然後建立連線,然後獲取游標物件,之後利...

sqlite3使用sqlite2建立的資料庫

用sqlite 2.8.17建立了乙個資料庫heroes.db。其中建立了乙個表heroes,這張表中儲存的是魔獸爭霸中英雄的技能資料。select from heroes 會得到 大魔法師 人族 水元素 暴風雪 輝煌光環 時空傳送 山丘之王 人族 風暴之錘 雷霆一擊 重擊 天神下凡 血魔法師 人族...