用C语言做个sqlite数据库~

用C语言做个sqlite数据库~,第1张

). 打开VC新建一个“Win32 Dynamic-Link Library”工程,命名为:sqlite32). 在接下来的对话框中选择"An empty DLL project",点 FINISH->OK3). 将源码中所有的 *.c *.h *.def 复制到工程文件夹下4). 在工程的Source File中添加你下载到的SQLite源文件中所有*.c文件,注意这里不要添加shell.c和tclsqlite.c这两个文件。5). 将 SQLite 源文件中的 sqlite3.def 文件添加到在工程的Source File中6). 在Header File中添加你下载到的SQLite源文件中所有*.h文件,7). 开始编译,Build(F7)一下也许到这里会遇到一个错误:e:\zieckey\sqlite\sqlite3\sqlite3ext.h(22) : fatal error C1083: Cannot open include file: 'sqlite3.h': No such file or directory经检查发现,源码中包含sqlite3.h都是以 #include <sqlite3.h>方式包含的,这就是说编译器在系统默认路径中搜索,这样当然搜索不到 sqlite3.h 这个头文件啦,这时可以改为 #include "sqlite3.h" ,让编译器在工程路径中搜索,但是如果还有其他地方也是以 #include <sqlite3.h>方式包含的,那么改源码就显得有点麻烦,好了,我们可以这样,在菜单栏依次选择:Tools->Options...->Directeries在下面的Directeries选项中输入你的 sqlite3.h 的路径,这里也就是你的工程目录.添加好后,我们在编译一下就好了,最后我们在工程目录的 Debug 目录生成了下面两个重要文件:动态链接库文件 sqlite3.dll 和引入库文件 sqlite3.lib二. 使用动态链接库下面我们来编写个程序来测试下我们的动态链接库.在VC下新建一个空的"Win32 Console Application" Win32控制台程序,工程命名为:TestSqliteOnWindows再新建一个 test.cpp 的C++语言源程序,源代码如下:// name: test.cpp// This prog is used to test C/C++ API for sqlite3 .It is very simple,ha !// Author : zieckey// data : 2006/11/28#include <stdio.h>#include <stdlib.h>#include "sqlite3.h" #define _DEBUG_int main( void ){sqlite3 *db=NULLchar *zErrMsg = 0int rcrc = sqlite3_open("zieckey.db", &db)//打开指定的数据库文件,如果不存在将创建一个同名的数据库文件if( rc ){fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db))sqlite3_close(db)return (1)}else printf("You have opened a sqlite3 database named zieckey.db successfully!\nCongratulations! Have fun ! ^-^ \n")

mysql的,首先你得连好环境,不知能不能帮到你,这本来是我在C++写的,你要是不懂的话这个对你可能完全没用。

MYSQL mysql//数据库连接句柄

MYSQL_RES *result

mysql_init (&mysql)

MYSQL_ROW sql_row

if(!mysql_real_connect(&mysql,"localhost","root","密码","数据库名字",3306,NULL,0))

{//mydb为你所创建的数据库,3306为端口号,可自行设定

printf("数据库连接失败\n")

}

else

{ mysql_query(&mysql, "SET NAMES GBK")//设置字体,因为中文可能乱码

mysql_query(&mysql,"select * from 表名 where 公司名的字段名=‘你要搜的公司名’")//运行SQL语句

result=mysql_store_result(&mysql)

sql_row=mysql_fetch_row(result)//搜到的结果显示到数组sql_row[]

if(sql_row)

{

printf("没有找到")

return

}

输出sql_row[x]

//sql_row[x]就是结果,。x是字段在表的位置,第一个位置就是sql_row[0]。但是我不知道C语言如何输出

}

用数据结构组织起来就是简单的数据库了,无非就是插入删除修改之类的功能

你说的那些数据库语句,可以用简单的字符串匹配来做

如:strcmp 匹配"Create table"这个字符串 对接下来字符进行提取,直到"(" 以后的关键字符也是用类似方法判断","等实现

提取了需要的关键字符之后就可以进行对应的传参,调用相应 *** 作


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7941354.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存