下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。
内存溢出小编现在分享给大家,也给大家做个参考。
一个简单的使用sqlite3数据库的电话薄,很简单适合初学者看看,而且里面并没有很多容错处理很容易看懂的。#include<stdio.h>#include"sqlite3.h"static int callback(voID *notused,int l,char **v,char **lname);int seek(sqlite3 *db);int insert(sqlite3 *db);int replace(sqlite3 *db); int del(sqlite3 *db);int option(sqlite3 *db); int quit(sqlite3 *db); int main(){ int num; int rc; struct sqlite3 *db; rc=sqlite3_open("sql.db",&db); if(rc) { printf("成功打开数据库"); } else printf("数据库打开失败"); num=option(db); quit(db);}int option(sqlite3 *db){ int num; int rc; printf("\t1.查询\n\t2.添加记录\n\t3.更新记录\n\t4.删除记录\n\t5.清屏\n\t6.创建表\n\t7.退出\n"); printf("请输入:"); scanf("%d",&num); switch (num) { case 1:seek(db); break; case 2:rc=insert(db); break; case 3:replace(db); break; case 4:del(db); break; case 5: { system("cls"); option(db); } case 6: { rc=sqlite3_exec(db,"CREATE table telbook(name,telnum)",NulL); printf("%d\n",rc); } break; case 7:{ printf("即将关闭\n"); quit(db); } break; default: { printf("请选择\n"); option(db); } break; }}int seek(sqlite3 *db){ int num; int rc; char *zsql; char *sql_name[20],*sql_telnum[11]; printf("\t1.根据名字查找\n\t2.根据电话查找\n\t3.显示所有\n\t4.回上级目录"); scanf("%d",&num); switch (num) { case 1: { printf("请输入名字:"); scanf("%s",sql_name); zsql= sqlite3_mprintf("select * from telbook where name='%q'",sql_name); rc=sqlite3_exec(db,zsql,callback,NulL); sqlite3_free(zsql); } break; case 2: { printf("请输入电话"); scanf("%s",sql_telnum); zsql= sqlite3_mprintf("select * from telbook where telnum='%q'",sql_telnum); rc=sqlite3_exec(db,NulL); sqlite3_free(zsql); } break; case 3:rc=sqlite3_exec(db,"select * from telbook",NulL); break; case 4:option(db); break; default : { printf("请选择要执行的 *** 作\n"); option(db); } } printf("%d\n",rc); option(db);}int insert(sqlite3 *db){ int rc; char *sql_name[20],*sql_telnum[11]; printf("输入姓名和电话以空格分隔:"); scanf("%s %s",sql_name,sql_telnum); char *zsql; zsql= sqlite3_mprintf("INSERT INTO telbook VALUES('%q','%q')",sql_telnum); rc=sqlite3_exec(db,NulL); sqlite3_free(zsql); printf("%d\n",rc); option(db); return 0;}int replace(sqlite3 *db){ int rc; char *sql_name[20],*sql_telnum[11]; printf("请输入名字和新电话号码:"); scanf("%s %s",sql_telnum); char *zsql; zsql= sqlite3_mprintf("update telbook set telnum='%q' where name='%q'",sql_telnum,sql_name); rc=sqlite3_exec(db,rc); option(db); return 0;}int del(sqlite3 *db){ int rc; char *sql_name[20],*sql_telnum[11]; printf("请输入要删除的姓名:"); scanf("%s",sql_name); char *zsql; zsql= sqlite3_mprintf("DELETE FROM telbook where name='%q'",rc); option(db); return 0;}int quit(sqlite3 *db){ int rc; rc=sqlite3_close(db); if (rc) { printf("成功关闭数据库\n"); } else printf("关闭失败\n"); system("pause"); exit(1);}static int callback(voID *notused,char **lname){ int i; for (i=0;i<l;i++) { printf("%s\t",v[i]); } printf("\n"); return 0;}
以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
总结以上是内存溢出为你收集整理的C++ *** 作sqlite3数据库示例代码全部内容,希望文章能够帮你解决C++ *** 作sqlite3数据库示例代码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)