目录

代码

运行结果

dict.txt


作业:将dict.txt中的内容导入到数据库中

注意:

  1. 导入后检查解释意思是否完整,双词性

  2. 中间有空格的单词

  3. o'clock

代码

#include<stdio.h>
#include<sqlite3.h>
#include<string.h>
#include<stdlib.h>
void do_insert(sqlite3 *db,char *word,char *mean); //插入数据
int main(int argc, const char *argv[])
{FILE* fp=fopen("./dict.txt","r");//打开文件if (NULL==fp){perror("fopen:");printf("文件打开失败\n");return -1;}printf("fopen success\n") ;//打开数据库sqlite3 *db;if (sqlite3_open("./dict.db",&db)!=SQLITE_OK){printf("err_code:%d\n", sqlite3_errcode(db));printf("errmsg:%s\n", sqlite3_errmsg(db));fprintf(stderr, "__%d__ sqlite3_open failed\n", __LINE__);return -1;}printf("sqlite3 open success\n");//创建一个表格char* sql = "create table if not exists dict (word char,mean char);" ;char* errmsg = NULL;if(sqlite3_exec(db, sql, NULL, NULL, &errmsg) != SQLITE_OK){fprintf(stderr, "__%d__ sqlite3_exec:%s\n", __LINE__, errmsg);return -1;}printf("create table success\n");//定义存放信息的数组char buf[128]="";char word[64]="",mean[64]="";//char *p=NULL;//char *wordp=NULL;//char *meanp=NULL;char *res=NULL;while (1)//while(fgets(buf,sizeof(buf),fp)!=NULL){bzero(buf,sizeof(buf));bzero(word,sizeof(word));bzero(mean,sizeof(mean));if((res=fgets(buf,sizeof(buf),fp))==NULL)//if (res==NULL){printf("读取结束\n");break;}char *p=buf;char *wordp=word;char *meanp=mean;while (*p!=' ' ||  *(p+1)!=' ')//单词部分{if (*p=='\'')             // '单引号{*wordp++ = '\'';p++;continue;}*wordp++ = *p++;//printf("%c\n",*p);}while(*p==' ')p++; //跳过空格while (*p!='\n')        //翻译部分{*meanp++ = *p++;}do_insert(db,word,mean);}//关闭数据库if(sqlite3_close(db) != SQLITE_OK){printf("err_code:%d\n", sqlite3_errcode(db));printf("errmsg:%s\n", sqlite3_errmsg(db));fprintf(stderr, "__%d__ sqlite3_close failed\n", __LINE__);return -1;}printf("sqlite3_close success\n");return 0;
}
void do_insert(sqlite3 *db,char *word,char *mean) //插入数据
{char sql[128];sprintf(sql, "insert into dict values(\"%s\",'%s')", word,mean);//char* sql = "insert into stu values(1,"zhangsan",99);" ;char* errmsg = NULL;if(sqlite3_exec(db, sql, NULL, NULL, &errmsg) != SQLITE_OK){fprintf(stderr, "__%d__ sqlite3_exec:%s\n", __LINE__, errmsg);return ;}//printf("insert success\n");}

运行结果

dict.txt

网络编程8/17——将dict.txt中的内容导入到数据库中相关推荐

  1. 将DataTable中的数据导入到数据库中

    上次在根据excel的文件的路径提取其中表的数据到DataSet中 一文中介绍了将Excel文件中的数据读取到DataSet中的方法,今天我来介绍下我曾经在项目中用到的一个将DataTable中的数据 ...

  2. 查询oracle数据库的表格数据类型,excel表格中如何查询数据库数据类型-我想把excel表格中的数据导入oracle数据库中,想在......

    在excel表里,什么是:字段.记录.数据类型.多工... declare @t table(id numeric(18,2)) insert into @t SELECT   col1 FROM   ...

  3. vb mysql数据导入到mssql,[请教]怎样把*.txt文本的数据导入sql数据库中?

    我分两步走,先将文本文件导入到grid中,然后再上传到数据库.但是我测试下列代码来将文本文件导入时总是出错,不能成功导入,代码如下:Private Sub Command1_Click() On Er ...

  4. 批量处理大量TXT格式的数据导入到数据库中

    --最终的存储表 CREATE TABLE [dbo].[tab](filename varchar(100), [列 0] [varchar](50) NULL, [列 1] [varchar](5 ...

  5. datatable 导入mysql 解决_将DataTable中的数据导入到数据库中

    上次在 小小的改动即可. /// /// 将DataTable中数据写入数据库中 /// /// /// public static bool WriteDataToDB(DataTable dt) ...

  6. 使用java导入excel表格中的内容进入到数据库中,出现excel表格的后缀名错误,如何解决。

    在学习java的过程中出现 The supplied data appears to be in the Office 2007+ XML. You are calling the part of P ...

  7. 在jsp页面中点击编辑按钮,显示input边框,可编辑,点击保存按钮,输入框消失,不可编辑,并将文本框中的内容保存到数据库中

    寻找的资料 一. 默认readonly不允许编辑.点击编辑的时候加上边框样式,去掉readonly属性 <style>.readonly input{border:none}</st ...

  8. 如何将word中的数据导入到数据库中

    前提:word中数据要是有规律的 如:xtext.doc Nombre:Peng Wenfei Cel:186****4515 Nombre:Wang Xulong Cel:180****1426 N ...

  9. Oracle数据库中正确的导入dmp数据库文件

    其实在Oracle数据导入与导出imp/exp的实际操作和Oracle数据还原和备份的实际操作很相似.我们大家都知道exp命令可以把相关的数据从远程Oracle数据库的服务器导出到本地的dmp文件,i ...

最新文章

  1. u-boot2011.09 u-boot.img 的流程跟踪
  2. 理解DataSet的数据缓存机制
  3. 电脑底部任务栏点不动_「方法」在电脑上使用小程序的方法
  4. app分发平台java_集成 Asset Delivery (Java)
  5. mysql主从数据库验证_数据库主从一致性验证
  6. mysql建库语句on报错_mysql运维必备知识点(转载至其他作者)
  7. .NET Core开发日志——Runtime IDentifier
  8. v-for指令案例详解
  9. java 类 属性数量_跟我学java编程—Java类的属性与成员变量
  10. 数据结构-栈4-栈的应用-中缀转后缀
  11. 视频盒子APP视频播放源代码安卓+IOS双端源码
  12. mysql 标记_Mysql操作基础,标记一上
  13. 实训第二天的收获beep~~~
  14. mysql添加有效值_物理数据库设计 - 限定列的有效值
  15. JAVA Druid 查询语句Json构造
  16. 图解WinHex使用入门
  17. html页面去边框线,html中怎么去掉表格边框线的?
  18. easyCVR接入华为Vpaas(VCN/IVS) GB28181记录
  19. Windows——关于service
  20. CH340晶体不起振

热门文章

  1. AutoHotkey下载和使用
  2. 开发艺术探索之RemoteView学习
  3. ansys如何删除线,ansys删除体留下的线
  4. 集合————示例详解
  5. PyTorch中的sampled_softmax_loss
  6. 解决Idea报错:编译时持续copying resource导致gc overhead limit exceeded
  7. Ubuntu下编译opencv4.1.0+opencv_contrib4.1.0 android sdk
  8. 动态显示和隐藏NavigationBar
  9. (黑)React教程(2022-11-20)
  10. html自动跳转到action,html中form标签的action属性