C++ *** 作sqlite3数据库示例代码

C++ *** 作sqlite3数据库示例代码,第1张

概述C++ *** 作sqlite3数据库示例代码

下面是内存溢出 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数据库示例代码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1232531.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存