学习日志(二十七)
SQLite的编程操作⑥
DELETE操作
指令参考:
https://editor.csdn.net/md/?articleId=129226080
sql的delete指令:
drop table class1;
代码:
#include <stdio.h>
#include <sqlite3.h>
#include <stdlib.h>
int callback(void *arg, int column_size, char *column_value[], char*column_name[])
{
int i ;
printf("%s\n",(char *)arg);
for(i = 0;i<column_size;i++){
printf("%s = %s\n",column_name[i],column_value[i]);
}
printf("=================================\n");
return 0 ;//必须返回0,这样数据库中有多少条数据,这个回调函数就会被调用多少次
}
int main(int argc,char **argv)
{
sqlite3 *db;
int ret;
char *sql = NULL;
char *errmsg = NULL;
if(argc<2){
printf("Uage: %s xxx.db\n",argv[0]);
exit(-1);
}
if((ret = sqlite3_open(argv[1],&db)) == SQLITE_OK ){
printf("ret = %d ,open %s success \n",ret,argv[1]);
}else{
printf("ret = %d,error messsge:%s \n",sqlite3_errcode(db),sqlite3_errmsg(db));
exit(-1);
}
sql = "select * from class1"; //先查看class1表里面有什么数据
ret = sqlite3_exec(db,sql,callback,"into callback",&errmsg);
sql = "delete from class1 where id = 001";// 删除表中id =001 的一条数据
ret = sqlite3_exec(db,sql,callback,"into callback",&errmsg);
printf("ret = %d,error messsge:%s \n",ret,errmsg);
sql = "select * from class1"; //再次查看class1表里面的数据
ret = sqlite3_exec(db,sql,callback,"into callback",&errmsg);//获取错误码,和错误信息
printf("ret = %d,error messsge:%s \n",ret,errmsg);
sqlite3_close(db);
return 0 ;
}
测试: