网络编程8/17——将dict.txt中的内容导入到数据库中
目录
代码
运行结果
dict.txt
作业:将dict.txt中的内容导入到数据库中
注意:
导入后检查解释意思是否完整,双词性
中间有空格的单词
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中的内容导入到数据库中相关推荐
- 将DataTable中的数据导入到数据库中
上次在根据excel的文件的路径提取其中表的数据到DataSet中 一文中介绍了将Excel文件中的数据读取到DataSet中的方法,今天我来介绍下我曾经在项目中用到的一个将DataTable中的数据 ...
- 查询oracle数据库的表格数据类型,excel表格中如何查询数据库数据类型-我想把excel表格中的数据导入oracle数据库中,想在......
在excel表里,什么是:字段.记录.数据类型.多工... declare @t table(id numeric(18,2)) insert into @t SELECT col1 FROM ...
- vb mysql数据导入到mssql,[请教]怎样把*.txt文本的数据导入sql数据库中?
我分两步走,先将文本文件导入到grid中,然后再上传到数据库.但是我测试下列代码来将文本文件导入时总是出错,不能成功导入,代码如下:Private Sub Command1_Click() On Er ...
- 批量处理大量TXT格式的数据导入到数据库中
--最终的存储表 CREATE TABLE [dbo].[tab](filename varchar(100), [列 0] [varchar](50) NULL, [列 1] [varchar](5 ...
- datatable 导入mysql 解决_将DataTable中的数据导入到数据库中
上次在 小小的改动即可. /// /// 将DataTable中数据写入数据库中 /// /// /// public static bool WriteDataToDB(DataTable dt) ...
- 使用java导入excel表格中的内容进入到数据库中,出现excel表格的后缀名错误,如何解决。
在学习java的过程中出现 The supplied data appears to be in the Office 2007+ XML. You are calling the part of P ...
- 在jsp页面中点击编辑按钮,显示input边框,可编辑,点击保存按钮,输入框消失,不可编辑,并将文本框中的内容保存到数据库中
寻找的资料 一. 默认readonly不允许编辑.点击编辑的时候加上边框样式,去掉readonly属性 <style>.readonly input{border:none}</st ...
- 如何将word中的数据导入到数据库中
前提:word中数据要是有规律的 如:xtext.doc Nombre:Peng Wenfei Cel:186****4515 Nombre:Wang Xulong Cel:180****1426 N ...
- Oracle数据库中正确的导入dmp数据库文件
其实在Oracle数据导入与导出imp/exp的实际操作和Oracle数据还原和备份的实际操作很相似.我们大家都知道exp命令可以把相关的数据从远程Oracle数据库的服务器导出到本地的dmp文件,i ...
最新文章
- u-boot2011.09 u-boot.img 的流程跟踪
- 理解DataSet的数据缓存机制
- 电脑底部任务栏点不动_「方法」在电脑上使用小程序的方法
- app分发平台java_集成 Asset Delivery (Java)
- mysql主从数据库验证_数据库主从一致性验证
- mysql建库语句on报错_mysql运维必备知识点(转载至其他作者)
- .NET Core开发日志——Runtime IDentifier
- v-for指令案例详解
- java 类 属性数量_跟我学java编程—Java类的属性与成员变量
- 数据结构-栈4-栈的应用-中缀转后缀
- 视频盒子APP视频播放源代码安卓+IOS双端源码
- mysql 标记_Mysql操作基础,标记一上
- 实训第二天的收获beep~~~
- mysql添加有效值_物理数据库设计 - 限定列的有效值
- JAVA Druid 查询语句Json构造
- 图解WinHex使用入门
- html页面去边框线,html中怎么去掉表格边框线的?
- easyCVR接入华为Vpaas(VCN/IVS) GB28181记录
- Windows——关于service
- CH340晶体不起振
热门文章
- AutoHotkey下载和使用
- 开发艺术探索之RemoteView学习
- ansys如何删除线,ansys删除体留下的线
- 集合————示例详解
- PyTorch中的sampled_softmax_loss
- 解决Idea报错:编译时持续copying resource导致gc overhead limit exceeded
- Ubuntu下编译opencv4.1.0+opencv_contrib4.1.0 android sdk
- 动态显示和隐藏NavigationBar
- (黑)React教程(2022-11-20)
- html自动跳转到action,html中form标签的action属性