//事务
#include <stdio.h>
#include "sqlite3.h"
int main(void)
{
sqlite3 *db;
//打开
int rc = sqlite3_open("sqlite.db", &db);
if(rc != SQLITE_OK)
{
//错误消息
printf( "打开失败:%s\n", sqlite3_errmsg(db));
return -1;
}
char *sql1 = "create table if not exists stu(id integer primary key default 1, name varchar(20), age integer);";
char *sql2 = "insert into stu(id,name,age) values(5,'Qode',17)";
char *errmsg;
//开始
rc = sqlite3_exec(db, "begin transaction", NULL, NULL, &errmsg);
rc = sqlite3_exec(db, sql1, NULL, NULL, &errmsg);
rc = sqlite3_exec(db, sql2, NULL, NULL, &errmsg);
if(rc != SQLITE_OK)
{
//错误信息
fprintf(stderr, "错误%s\n", sqlite3_errmsg(db));
fprintf(stderr, "错误%s\n", errmsg);
//失败回滚
sqlite3_exec(db, "rollback transaction", NULL, NULL, &errmsg);
getchar();
return -1;
}
//完毕
sqlite3_exec(db, "commit transaction", NULL, NULL, &errmsg);
//关闭
sqlite3_close(db);
getchar();
return 0;
}
SQLite C语言调用
猜你喜欢
转载自blog.csdn.net/weixin_35338800/article/details/83005181
今日推荐
周排行