【无标题】

在这里插入代码片

#include “head.h”

int main(int argc, const char *argv[])
{
sqlite3 *ppdb = NULL;
if(sqlite3_open(“./filename.db”, &ppdb) != SQLITE_OK)
{
ERR_MSG(ppdb);
return -1;
}

 char filename[4] = "stu1";

 char* sql = "create table if not exists filename (id int, english char, chinese char);";
 char* errmsg = NULL;
 if(sqlite3_exec(ppdb, sql, NULL, NULL, &errmsg) != SQLITE_OK)
 {
     ERR_MSG(ppdb);
     return -1;
 }
 printf("表格创建成功\n");


 int x = 1;
 int choice = 0;
 int id_number = 0;
 while(x)
 {
     printf("-------------------------------\n");
     printf("---------1.input---------------\n");
     printf("---------2.delete--------------\n");
     printf("---------3.amend---------------\n");
     printf("---------4.inquire-------------\n");
     printf("---------5.exit----------------\n");
     printf("-------------------------------\n");
     printf("输入功能>>>");                                                                                 
     scanf("%d",&choice);
     getchar();

     switch(choice)
     {
     case 1:
         id_number = do_input(ppdb, argv[1], filename);
         printf("id_number = %d\n", id_number);
         break;
     case 2:
         printf("id_number = %d\n",id_number);
         do_delete(id_number, ppdb, filename);
         break;
     case 3:
         break;
     case 4:
         do_inquire(ppdb, filename);
         break;
     case 5:
         x = 0;
         break;
     }

 }





 if(sqlite3_close(ppdb) != SQLITE_OK)
 {
     ERR_MSG(ppdb);
     return -1;
 }

 return 0;

}在这里插入代码片

#include “head.h”

//插入
int do_input(sqlite3* ppdb, const char* argv, char filename[])
{
char input[128] = “”;
char* errmsg_input;
char eng[64] =“”;
char chin[64] = “”;
int i = 0;
char c = 0;

 //开文件
 FILE* fp = fopen(argv, "r");
 if(fp == NULL)
 {
     perror("fopen");
     return -1;
 }

 while(fscanf(fp, "%s", eng) != EOF)
 {
     while(fgetc(fp) == 32)
         fseek(fp, 1, SEEK_CUR);
     fseek(fp, -2, SEEK_CUR);

     fgets(chin, sizeof(chin), fp);
     chin[strlen(chin) -1 ] = '\0';
     i++;
     snprintf(input, sizeof(input), "insert into filename (id, english, chinese) values (%d, \"%s\", '%s');",\
             i, eng, chin);
     if(sqlite3_exec(ppdb, input, NULL, NULL, &errmsg_input) != SQLITE_OK)
     {
         ERR_MSG(ppdb);
         return -1;
     }
     printf("插入成功\n");
     sqlite3_free(errmsg_input);
     bzero(input, sizeof(input));
     bzero(eng, sizeof(eng));
     bzero(chin, sizeof(chin));
 }
 printf("插入完成 i = %d\n", i);
 fclose(fp);

 return i;

}

//删除
void do_delete(int id_number, sqlite3* ppdb, char filename[])
{
int id_dele = -1;
printf(“输入您要删除的id>>>”);
scanf(“%d”,&id_dele);
getchar();
if(id_dele <= 0 || id_dele > id_number)
{
printf(“输入的ID不正确\n”);
return;
}

 char delet[128] ="";
 char* errmsg_dele = "";
 snprintf(delet, sizeof(delet), "delete from filename where id = %d;", id_dele);
 if(sqlite3_exec(ppdb, delet, NULL, NULL, &errmsg_dele) != SQLITE_OK)                                                                                    
 {
     ERR_MSG(ppdb);
     return;
 }
 printf("删除成功\n");
 sqlite3_free(errmsg_dele);
 return;

}

//查找
void do_inquire(sqlite3* ppdb, char filename[])
{
char inq_opt[128] = “”;
char* err_inq = “”;
char** pazresult = NULL;
int row, column;

 strcpy(inq_opt, "select * from filename where id < 100");

 if(sqlite3_get_table(ppdb, inq_opt, &pazresult, &row, &column, &err_inq) != SQLITE_OK)
 {
     ERR_MSG(ppdb);
     return;
 }

 int k = 0;
 for(int i = 0; i < row+1; i++)
 {
     for(int j = 0; j < column; j++)
     {
         if(k % column == 1)
             printf("%8s", pazresult[k++]);
         else
             printf("%s\t",pazresult[k++]);
     }
     putchar(10);
 }

 return;

}

在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值