通过C实现sqlite3操作,(增删改查),导入电子词典

这篇具有很好参考价值的文章主要介绍了通过C实现sqlite3操作,(增删改查),导入电子词典。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、插入

#include <stdio.h>
#include <sqlite3.h>
void do_insert(sqlite3 *db);
int main(int argc, const char *argv[])
{
	//创建并打开一个数据库
	sqlite3 *db = NULL;
	if(sqlite3_open("./mysql.db",&db) != SQLITE_OK)
	{
		fprintf(stderr,"sqlite3_open: %s __%d__\n",sqlite3_errmsg(db),__LINE__);
		return -1;
	}
	printf("open datebase success...\n");

	//创建一个表
	char *sql = "create table if not exists stu (id int,name char,score float);";
	char *errmsg = NULL;

	if(sqlite3_exec(db,sql,NULL,NULL,&errmsg) != SQLITE_OK)
	{
		fprintf(stderr,"sqlite3_exec: %s __%d__\n",errmsg,__LINE__);
		return -1;
	}
	printf("create table stu success...\n");

	char choose = 0;
	while(1)
	{
		printf("------------------------------\n");
		printf("----------1.INSERT------------\n");
		printf("----------2.DELETE------------\n");
		printf("----------3.UPDATE------------\n");
		printf("----------4.SELECT------------\n");
		printf("----------5.EXIT--------------\n");
		printf("------------------------------\n");

		printf("please enter>>>");
		choose = getchar();
		while(getchar()!=10);

		switch(choose)
		{
		case '1':
			do_insert(db);break;
		case '2':
		//	do_delete();break;
		case '3':
		//	do_update();break;
		case '4':
		//	do_select();break;
		case '5':
			goto END;
		default:
			printf("enter error\n");
		}
	}

END:
	//关闭数据库
	if(sqlite3_close(db) != SQLITE_OK)
	{
		fprintf(stderr,"sqlite3_close: %s __%d__\n",sqlite3_errmsg(db),__LINE__);
		return -1;
	}
	return 0;
}
void do_insert(sqlite3 *db)
{
	char sql[128] = ""; 
	char id = 0;
	char name[20] = "";
	float score = -1;
	char *errmsg = NULL;
	printf("please enter id>>>");
	id = getchar();
	getchar();
	printf("please enter name>>>");
	scanf("%s",name);
	getchar();
	printf("please enter score>>>");
	scanf("%f",&score);
	getchar();
	sprintf(sql,"insert into stu values (%d,'%s',%f);",id,name,score);
	if(sqlite3_exec(db,sql,NULL,NULL,&errmsg) != SQLITE_OK)
	{
		fprintf(stderr,"sqlite3_exec: %s __%d__\n",errmsg,__LINE__);
		return;
	}
	printf("insert success...\n");
	return;
}

二、导入电子词典

#include <stdio.h>
#include <sqlite3.h>
#include <string.h>
void do_insert(sqlite3 *db);
int main(int argc, const char *argv[])
{
	//创建并打开一个数据库
	sqlite3 *db = NULL;
	if(sqlite3_open("./mysql.db",&db) != SQLITE_OK)
	{
		fprintf(stderr,"sqlite3_open: %s __%d__\n",sqlite3_errmsg(db),__LINE__);
		return -1;
	}
	printf("open datebase success...\n");

	//创建一个表
	char *sql = "create table if not exists dict (id int,words char,trans char);";
	char *errmsg = NULL;

	if(sqlite3_exec(db,sql,NULL,NULL,&errmsg) != SQLITE_OK)
	{
		fprintf(stderr,"sqlite3_exec: %s __%d__\n",errmsg,__LINE__);
		return -1;
	}
	printf("create table stu success...\n");

	//插入单词
	int res = -1;
	int i = 0;
	char c = 0;
	char words[64] = "";
	char trans[128] = "";
	char mysql[256] = "";
	FILE *fp = fopen("./dict.txt","r");
	if(fp == NULL)
	{
		perror("open");
		return -1;
	}
	while(1)
	{
		bzero(words,sizeof(words));
		res = fscanf(fp,"%s",words);
		if(res == EOF)
			break;
		while(1)
		{
			bzero(trans,sizeof(trans));
			fscanf(fp,"%c",trans);
			if(strcmp(trans," ") != 0)
				break;
		}
		fseek(fp,-1,SEEK_CUR);
		bzero(trans,sizeof(trans));
		while(1)
		{
			fscanf(fp,"%s",trans+strlen(trans));
			fscanf(fp,"%c",&c);
			if(c == '\n')
				break;
		}
		sprintf(mysql,"insert into dict values (%d,'%s','%s');",++i,words,trans);
		if(sqlite3_exec(db,mysql,NULL,NULL,&errmsg) != SQLITE_OK)
		{
			fprintf(stderr,"sqlite3_exec: %s %d __%d__\n",errmsg,sqlite3_errcode(db),__LINE__);
			return -1;
		}
	}

	//关闭数据库
	if(sqlite3_close(db) != SQLITE_OK)
	{
		fprintf(stderr,"sqlite3_close: %s __%d__\n",sqlite3_errmsg(db),__LINE__);
		return -1;
	}
	return 0;
}

文章来源地址https://www.toymoban.com/news/detail-661715.html

到了这里,关于通过C实现sqlite3操作,(增删改查),导入电子词典的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在ubuntu中将dict.txt导入到数据库sqlite3

     将dict.txt导入到数据库 dict文件(部分)      结果为:  一些不成熟的功能

    2024年02月11日
    浏览(42)
  • sqlite3多线程操作问题

    在项目中使用sqlite3,有时会报database is locked 两种方式 1、多线程读,多线程写,只使用共同一个数据库连接,即使用同一个SQLiteHelper连接,调用sqlite3_busy_timeout 2、多线程读,单线程写,每个线程使用各自独立的数据库连接,但是需要开启wal模式,以开启数据库连接池 开启

    2024年02月13日
    浏览(38)
  • django sqlite3操作和manage.py功能介绍

     参考链接:https://www.cnblogs.com/csd97/p/8432715.html manage.py 常用命令_python manage.py_追逐梦想的博客-CSDN博客 python django操作sqlite3_django sqlite_浪子仙迹的博客-CSDN博客

    2024年02月12日
    浏览(46)
  • Python数据库模块sqlite3操作实例(非常实用)

    当使用Python进行SQLite数据库操作时, sqlite3 模块是一个非常常用和强大的工具。它提供了一系列函数和方法,用于创建、连接、查询和管理数据库。下面是一些常见的用法示例:   sqlite-utils 、 sqlitebiter 和其他类似的库可以提供更高级的功能,包括预编译语句的执行优化和数

    2024年02月13日
    浏览(49)
  • 嵌入式中如何用C语言操作sqlite3(07)

    sqlite3编程接口非常多,对于初学者来说,我们暂时只需要掌握常用的几个函数,其他函数自然就知道如何使用了。 本篇假设数据库为my.db,有数据表student。 no name score 4 嵌入式开发爱好者 89.0 创建表格语句如下: sqlite3_open sqlite3_close sqlite3_get_table 举例 下面比如我们要显示st

    2024年02月07日
    浏览(47)
  • 【sqlite3】sqlite3在linux下使用sqlitebrowser工具实现数据可视化

    1. ### install sqlitebrowser 安装指令 通过工具打开数据库 打开效果

    2024年02月01日
    浏览(45)
  • Python3操作SQLite3创建表主键自增长|CRUD基本操作

    Win11查看安装的Python路径及安装的库 Python PEP8 代码规范常见问题及解决方案 Python3操作MySQL8.XX创建表|CRUD基本操作 Python3操作SQLite3创建表主键自增长|CRUD基本操作 anaconda3最新版安装|使用详情|Error: Please select a valid Python interpreter Python函数绘图与高等代数互融实例(一):正弦函数与

    2024年02月07日
    浏览(41)
  • 在Python中利用内置SQLite3模块进行数据库操作的完整指南

      在Python中,使用SQLite非常方便,Python内置了 SQLite3 模块,无需额外安装。SQLite 是一个轻量级的嵌入式数据库,适用于小型项目和单用户应用。以下是一个简单的示例,演示如何在 Python 中使用 SQLite,并提供了常见的查询、增加、修改和删除功能。 首先,确保你的 Python 安装

    2024年02月03日
    浏览(63)
  • sqlite3数据库的实现

    sqlite3代码实现数据库的插入、删除、修改、退出功能

    2024年02月12日
    浏览(61)
  • BL302嵌入式ARM控制器进行SQLite3数据库操作的实例演示

    本文主要讲述了在钡铼技术BL302嵌入式arm控制器上运行 SQLite3 数据库的命令示例。SQLite3 是一个轻型的嵌入式数据库,不需要安装数据库服务器进程,占用资源低且处理速度快。 首先,需要将对应版本的 SQLite3 文件复制到设备的 /usr/ 目录下,并解压缩。然后进入 /usr/lib 目录,

    2024年02月14日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包