#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sqlite3.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int main(int argc, const char *argv[])
{
FILE *fp = fopen("./dict.txt","r");
if(NULL == fp)
{
perror("fopen");
return -1;
}
//创建数据库
sqlite3 *db;
if(sqlite3_open("./word4.db",&db) != SQLITE_OK)
{
fprintf(stderr,"sqlite3_open :%d:%s __%d__\n",\
sqlite3_errcode(db),sqlite3_errmsg(db),__LINE__);
return -1;
}
//创建一张表格
char sql[128] = "create table if not exists word (name char,idea char)";
char *errmsg;
if(sqlite3_exec(db,sql,NULL,NULL,&errmsg) != SQLITE_OK)
{
fprintf(stderr,"sqlite3_exec:%s __%d__\n",errmsg,__LINE__);
return -1;
}
printf("word table create success\n");
char name[20] = "";
char idea[128] = "";
int res = 0;
int num = 1;
while(1)
{
bzero(name,sizeof(name));
bzero(idea,sizeof(idea));
res = fscanf(fp,"%s",name);
if(0 == res)
break;
if(fgets(idea,128,fp) == NULL)
break;
idea[strlen(idea)-1] = 0;
bzero(sql,sizeof(sql));
sprintf(sql,"insert into word values (\"%s\",'%s')",name,idea);
if(sqlite3_exec(db,sql,NULL,NULL,&errmsg) != SQLITE_OK)
{
fprintf(stderr,"sqlite3_exec:%s __%d__\n",errmsg,__LINE__);
return -1;
}
printf("已导入%d\n",num++);
}
//关闭数据库
if(sqlite3_close(db) != SQLITE_OK)
{
fprintf(stderr,"sqlite3_close :%d:%s __%d__\n",\
sqlite3_errcode(db),sqlite3_errmsg(db),__LINE__);
return -1;
}
return 0;
}