linux c語言操作數(shù)據(jù)庫(連接sqlite數(shù)據(jù)庫)
#include<stdio.h>
#include<sqlite3.h>
int select_callback(void *data,int col_count,char **col_values,char **col_name)
{
//每條記錄回調(diào)一次該函數(shù),有多少條就回調(diào)多少次
int i;
for(i=0;i<col_count;i++)
{
printf("%s=%s\n",col_name[i],col_values[i]==0?"NULL":col_values[i]);
}
return 0;
}
int main(int argc,char **argv)
{
//創(chuàng)建數(shù)據(jù)庫表
const char *SQL1="create table users(id int PRIMARY KEY,name varchar(20),birthday datetime);";
//向數(shù)據(jù)庫插入數(shù)據(jù)
const char *SQL2="insert into users values(1,'myd','2013-10-9');";
const char *SQL3="insert into users values(2,'myd','2013-10-9');";
//從數(shù)據(jù)庫查詢數(shù)據(jù)
const char *SQL4="select * from users;";
char *ErrMsg=0;
int ret = 0;
//連接數(shù)據(jù)庫
sqlite3 *db =0;
ret=sqlite3_open("./DataBase",&db);
if(ret != SQLITE_OK)
{
fprintf(stderr,"無法打開數(shù)據(jù)庫:%s",sqlite3_errmsg(db));
return 1;
}
printf("數(shù)據(jù)庫連接成功!\n");
//執(zhí)行建表
ret = sqlite3_exec(db,SQL1,0,0,&ErrMsg);
if(ret != SQLITE_OK)
{
fprintf(stderr,"SQL Error:%s\n",ErrMsg);
sqlite3_free(ErrMsg);
}
//執(zhí)行插入記錄SQL語句
ret = sqlite3_exec(db,SQL2,0,0,&ErrMsg);
if(ret !=SQLITE_OK)
{
printf("插入數(shù)據(jù)成功\n");
}
ret = sqlite3_exec(db,SQL3,0,0,&ErrMsg);
{
printf("插入數(shù)據(jù)成功\n");
}
//查詢數(shù)據(jù)表內(nèi)容
printf("查詢數(shù)據(jù)表內(nèi)容\n");
sqlite3_exec(db,SQL4,select_callback,0,&ErrMsg);
//關(guān)閉數(shù)據(jù)庫
sqlite3_close(db);
db = 0;
printf("數(shù)據(jù)庫關(guān)閉成功!\n");
return 0;
}
CFLAGS=-L /usr/local/sqlite-autoconf-3070400/lib -I/usr/local/sqlite-autoconf-307040/include -lsqlite3
all: sqlite.o sqlite
sqlite:sqlite.o
gcc sqlite.o -o sqlite $(CFLAGS)
sqlite.o:sqlite.c
gcc -c sqlite.c $(CFLAGS)
clean:
rm -rf sqlite *.o
- c語言連接mysql數(shù)據(jù)庫的實(shí)現(xiàn)方法
- 用C語言操作MySQL數(shù)據(jù)庫的通用方法
- nodejs和C語言插入mysql數(shù)據(jù)庫亂碼問題的解決方法
- Linux 下C語言連接mysql實(shí)例詳解
- MySQL的C語言API接口
- C/C++ 連接MySql數(shù)據(jù)庫的方法
- Linux下實(shí)現(xiàn)C++操作Mysql數(shù)據(jù)庫
- C++ 中實(shí)現(xiàn)把EXCEL的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(ACCESS、MSSQL等)實(shí)例代碼
- C++利用MySQL API連接和操作數(shù)據(jù)庫實(shí)例詳解
- c++連接mysql數(shù)據(jù)庫的兩種方法(ADO連接和mysql api連接)
- C語言實(shí)現(xiàn)訪問及查詢MySQL數(shù)據(jù)庫的方法
相關(guān)文章
C++使用動(dòng)態(tài)內(nèi)存分配的原因解說
這篇文章主要介紹了C++使用動(dòng)態(tài)內(nèi)存分配的原因解說,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04利用Qt實(shí)現(xiàn)獲取計(jì)算機(jī)的硬件信息
在開發(fā)時(shí),常常會(huì)需要用到計(jì)算機(jī)的相關(guān)信息。利用這些信息,我們可以開發(fā)一些輔助模塊。本文將利用Qt實(shí)現(xiàn)獲取計(jì)算機(jī)的硬件信息,感興趣的可以嘗試一下2022-12-12

C++數(shù)據(jù)結(jié)構(gòu)分析多態(tài)的實(shí)現(xiàn)與原理及抽象類

Vs?Code中C/C++配置launch.json和tasks.json文件詳細(xì)步驟