C语言 *** 作sqlite3对表的插入和查询

C语言 *** 作sqlite3对表的插入和查询,第1张

概述  #ifndef __MYDB_H  #define __MYDB_H    #include <stdio.h>  #include <string.h>  #include "sqlite3.h"  #define DB_NAME     "test.db"  #define TABLE_NAME   
      #ifndef__MYDB_H    #define__MYDB_H        #include<stdio.h>    #include<string.h>    #include"sqlite3.h"    #defineDB_name"test.db"    #definetable_name"student"    #defineTRUE1    #defineFALSE0    intopen_db();    intmodefiy_data();    intinsert_data();    intsearch_data();            #endif  
      #include"mydb.h"        sqlite3*pdb=NulL;    char*szErrMsg=0;    /*    *@brIEf//打开数据库    *@parampdb类型为sqlite    */    intopen_db()    {    intrc;    rc=sqlite3_open(DB_name,&pdb);    if(rc)    {    fprintf(stderr,"can'topendatabase:%s\n",sqlite3_errmsg(pdb));    sqlite3_close(pdb);    return-1;    }    return0;    }    /*            //@brif数据库语句执行            intcreat_table()    {    intrc;    char*strsql="createtablestudent(sIDvarchar(10)notnullprimarykey,snamevarchar(10)notnull,timeDatetime)";    sqlite3_exec(pdb,strsql,&szErrMsg);    if(rc!=0)    {    fprintf(stderr,"can'topendatabase:%s\n",sqlite3_errmsg(pdb));    sqlite3_close(pdb);    return-1;    }    return0;    }        */    intmodefiy_data()    {    if(open_db!=0)    {    open_db();    }    return0;    }    /*    *数据的添加    */        intinsert_data()    {    intflag=TRUE;    charbuff[1024];    char*strsql;    intrc=0;    chartemp[3][20];    strsql=buff;    if(open_db!=0)    {    open_db();    }    strcpy(strsql,"insertinto");    strcat(strsql,table_name);    strcat(strsql,"values(?,?,?);");        sqlite3_stmt*stmt=NulL;    rc=sqlite3_prepare_v2(pdb,strlen(strsql),&stmt,NulL);    if(rc!=sqlITE_OK)    {    if(stmt)    {    sqlite3_finalize(stmt);    }    sqlite3_close(pdb);    return-1;    }        while(flag)    {    getchar();    memset(temp,sizeof(temp));    printf("学号:");    scanf("%s",temp[0]);    printf("姓名:");    scanf("%s",temp[1]);    printf("性别:");    scanf("%s",temp[2]);        //getchar();    sqlite3_bind_text(stmt,1,temp[0],strlen(temp[0]),NulL);        sqlite3_bind_text(stmt,2,temp[1],strlen(temp[1]),3,temp[2],strlen(temp[2]),NulL);    if(sqlite3_step(stmt)!=sqlITE_DONE)    {        sqlite3_finalize(stmt);    sqlite3_close(pdb);    printf("faile\n");    return0;    }    sqlite3_reset(stmt);    printf("Doyouwanttodoinsert?[0~1]:");    scanf("%d",&flag);    }    sqlite3_finalize(stmt);    printf("insertsuccess!\n");    sqlite3_close(pdb);            return0;        }    /*    *数据的查询    */    intsearch_data()    {    intrc;    if(open_db!=0)    {    open_db();    }    char*strsql="select*fromstudent";        sqlite3_stmt*stmt=NulL;        rc=sqlite3_prepare_v2(pdb,NulL);    if(rc!=sqlITE_OK)    {    if(stmt)    {    sqlite3_finalize(stmt);    }    sqlite3_close(pdb);    return-1;    }    intnColumn=sqlite3_column_count(stmt);    intvtype,i;    do{    rc=sqlite3_step(stmt);    if(rc==sqlITE_ROW)    {        for(i=0;i<nColumn;i++)    {        vtype=sqlite3_column_type(stmt,i);    if(vtype==sqlITE_INTEGER)    {    printf("%s:%d\n",sqlite3_column_name(stmt,i),sqlite3_column_int(stmt,i));    }    elseif(vtype==sqlITE_TEXT)    {    printf("%s:%s\n",sqlite3_column_text(stmt,i));    }    elseif(vtype==sqlITE_NulL)    {    printf("novalues\n");    }    }    printf("\n****************\n");        }    elseif(rc==sqlITE_DONE)    {    printf("Selectfinish\n");    break;    }    else    {    printf("Selectfaile\n");    sqlite3_finalize(stmt);    break;        }            }while(1);    sqlite3_finalize(stmt);    sqlite3_close(pdb);    return0;    }  
      #include<stdio.h>    #include"mydb.h"        intmain(intargc,char**argv)    {    intn;    printf("\n1.添加2.修改3.删除4.查看\n");    printf("choose[1-4]:");    scanf("%d",&n);    switch(n)    {    case1:        insert_data();    //printf("添加成功\n");    break;    case2:    printf("修改成功\n");    break;    case3:    printf("删除成功\n");    break;    case4:    search_data();    printf("查看成功\n");    break;    default:    printf("\nerror\n");    }    return0;    }  
总结

以上是内存溢出为你收集整理的C语言 *** 作sqlite3对表的插入和查询全部内容,希望文章能够帮你解决C语言 *** 作sqlite3对表的插入和查询所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/sjk/1175134.html

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

发表评论

登录后才能评论

评论列表(0条)

保存