当前位置:首页 » 操作系统 » c数据库开发教程

c数据库开发教程

发布时间: 2022-05-31 04:40:59

c语言怎么做网络和数据库编程

使用ODBC进行数据库编程。
1、配置ODBC数据源
2、使用sql函数进行连接。

Ⅱ 用C语言如何对MySQL数据库进行操作

里的大部分代码参考了MySQL发行包里面的.c源文件,大家也可以去里面找找相关的代码,下面这段代码实现了连接到本地MySQL服务器上9tmd_bbs_utf8数据库,从数据表tbb_user中根据输入的userid取得该用户的用户名并打印输出到终端。
if defined(_WIN32) || defined(_WIN64)为了支持windows平台上的编译
#include <windows.h> #endif #include <stdio.h> #include <stdlib.h> #include "mysql.h"

我的机器上该文件在/usr/local/include/mysql下
定义MySQL数据库操作的宏,也可以不定义留着后面直接写进代码
define SELECT_QUERY "select username from tbb_user where userid = %d" int main(int argc, char **argv)char **argv 相当于 char *argv[] {

MYSQL mysql,*sock;定义数据库连接的句柄,它被用于几乎所有的MySQL函数
MYSQL_RES *res;查询结果集,结构类型
MYSQL_FIELD *fd ;包含字段信息的结构
MYSQL_ROW row ;存放一行查询结果的字符串数组
char qbuf[160];存放查询sql语句字符串
if (argc != 2) { //检查输入参数 fprintf(stderr,"usage : mysql_select <userid>\n\n"); exit(1); } mysql_init(&mysql); if (!(sock = mysql_real_connect(&mysql,"localhost","dbuser","dbpwd","9tmd_bbs_utf8",0,NULL,0))) { fprintf(stderr,"Couldn't connect to engine!\n%s\n\n",mysql_error(&mysql)); perror(""); exit(1); } sprintf(qbuf,SELECT_QUERY,atoi(argv[1])); if(mysql_query(sock,qbuf)) { fprintf(stderr,"Query failed (%s)\n",mysql_error(sock)); exit(1); } if (!(res=mysql_store_result(sock))) { fprintf(stderr,"Couldn't get result from %s\n", mysql_error(sock)); exit(1); } printf("number of fields returned: %d\n",mysql_num_fields(res)); while (row = mysql_fetch_row(res)) { printf("Ther userid #%d 's username is: %s\n", atoi(argv[1]),(((row[0]==NULL)&&(!strlen(row[0]))) ? "NULL" : row[0])) ; puts( "query ok !\n" ) ; } mysql_free_result(res); mysql_close(sock); exit(0); return 0;

为了兼容大部分的编译器加入此行
}
编译的时候,使用下面的命令
gcc -o mysql_select ./mysql_select.c -I/usr/local/include/mysql -L/usr/local/lib/mysql -lmysqlclient (-lz) (-lm) 后面两个选项可选,根据您的环境情况运行的时候,执行下面的命令
./mysql_select 1
将返回如下结果:
number of fields returned: 1 Ther userid #1 's username is: Michael query ok !

上面的代码我想大部分都能看明白,不明白的可以参考一下MySQL提供的有关C语言API部分文档,各个函数都有详细说明,有时间我整理一份常用的API说明出来。

Ⅲ 怎么用C语言结合数据结构的知识来实现数据库的功能,代码怎么设计和编写

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

你说的那些数据库语句,可以用简单的字符串匹配来做
如: strcmp 匹配"Create table"这个字符串 对接下来字符进行提取,直到"(" 以后的关键字符也是用类似方法判断","等实现
提取了需要的关键字符之后就可以进行对应的传参,调用相应操作

Ⅳ 求C语言编程全套视频教程!有的说下!

114 编程(更新)

链接: https://pan..com/s/1bfrvxnsc5KJgKr32rnNNtg

?pwd=mp1i 提取码: mp1i

程序化思维

编程

Ⅳ 开发一个完整的数据库系统具体的流程是什么

一:表中应该避免可为空的列; 二:表不应该有重复的值或者列; 三: 表中记录应该有一个唯一的标识符 在数据库表设计的时候,数据库管理员应该养成一个好习惯,用一个ID号来 唯一的标识行记录,而不要通过名字、编号等字段来对纪录进行区分。每个表都应该有一个ID列,任何两个记录都不可以共享同一个ID值。另外,这个ID值最 好有数据库来进行自动管理,而不要把这个任务给前台应用程序。否则的话,很容易产生ID值不统一的情况。 另外,在数据库设计的时候,最好还能 够加入行号。如在销售订单管理中,ID号是用户不能够维护的。但是,行号用户就可以维护。如在销售订单的行中,用户可以通过调整行号的大小来对订单行进行 排序。通常情况下,ID列是以1为单位递进的。但是,行号就要以10为单位累进。如此,正常情况下,行号就以10、20、30依次扩展下去。若此时用户需 要把行号为30的纪录调到第一行显示。此时,用户在不能够更改ID列的情况下,可以更改行号来实现。如可以把行号改为1,在排序时就可以按行号来进行排 序。如此的话,原来行号为30的纪录现在行号变为了1,就可以在第一行中显示。这是在实际应用程序设计中对ID列的一个有效补充。这个内容在教科书上是没 有的。需要在实际应用程序设计中,才会掌握到这个技巧。 四:数据库对象要有统一的前缀名 一个比较复杂的应用系统,其对应的数据库表往往以千计。若让数据库管理员看到对象名就了解这个数据库对象所起的作用,恐怕会比较困难。而且在数据库对象引用的时候,数据库管理员也会为不能迅速找到所需要的数据库对象而头疼。 为此,笔者建立,在开发数据库之前,最好能够花一定的时间,去制定一个数据库对象的前缀命名规范。如笔者在数据库设计时,喜欢跟前台应用程序协商,确定 合理的命名规范。笔者最常用的是根据前台应用程序的模块来定义后台数据库对象前缀名。如跟物料管理模块相关的表可以用M为前缀;而以订单管理相关的,则可 以利用C作为前缀。具体采用什么前缀可以以用户的爱好而定义。但是,需要注意的是,这个命名规范应该在数据库管理员与前台应用程序开发者之间达成共识,并 且严格按照这个命名规范来定义对象名。 其次,表、视图、函数等最好也有统一的前缀。如视图可以用V为前缀,而函数则可以利用F为前缀。如此数据库管理员无论是在日常管理还是对象引用的时候,都能够在最短的时间内找到自己所需要的对象。 五:尽量只存储单一实体类型的数据 这里将的实体类型跟数据类型不是一回事,要注意区分。这里讲的实体类型 是指所需要描述对象的本身。笔者举一个例子,估计大家就可以明白其中的内容了。如现在有一个图书馆里系统,有图书基本信息、作者信息两个实体对象。若用户 要把这两个实体对象信息放在同一张表中也是可以的。如可以把表设计成图书名字、图书作者等等。可是如此设计的话,会给后续的维护带来不少的麻烦。 如当后续有图书出版时,则需要为每次出版的图书增加作者信息,这无疑会增加额外的存储空间,也会增加记录的长度。而且若作者的情况有所改变,如住址改变 了以后,则还需要去更改每本书的记录。若这个作者的图书从数据库中全部删除之后,这个作者的信息也就荡然无存了。很明显,这不符合数据库设计规范化的需 求。 遇到这种情况时,笔者建议可以把上面这张表分解成三种独立的表,分别为图书基本信息表、作者基本信息表、图书与作者对应表等等。如此设计以后,以上遇到的所有问题就都引刃而解了。

Ⅵ C语言一个简单数据库怎么做

这个要看你的平台的,什么数据库,什么操作系统,什么开发工具
目前,数据库基本都支持SQL语言的(LZ的就是SQL语言),而不同的数据库对C支持的方式也不同
如windwos平台,大部分数据库都可用ADO
当然,数据库本身也会提供C语言开发
如oracle,支持pro*c,oci等
先找本数据库的书看下,明白SQL语言后再参考不同的平台,看下你而要的数据库的开发方式.

Ⅶ C/C++ 怎么操作ACCESS数据库啊

C++利用ado编程,首先要引用一个库文件
#import "c:\program files\common files\system\ado\msado15.dll"no_namespaces rename("EOF" adoEOF")
然后用AfxOleInit()初始化组件
定义一个_ConnectionPtr 指针,然后利用这个指针打开数据库字符串,
你去网个看一下,很多教程的
http://hi..com/lninglove/blog/item/3f6cec22959e4ca34723e833.html

Ⅷ 如何用C语言编写数据库

可以用来编写
层次型数据库
和网状数据库
现在美国的几家大型公司还在用c语言编写的层次型的数据库
虽然关系型数据库使用相当广泛但是
在一些具体的场合
速度都跟不上去,处理效率不高
同志的用c语言编写的

你的勇气可佳
好好干将来必有前途

Ⅸ c/s结构数据库如何开发配置

根据你的情况给你如下建议:
1、由于不清楚你用是那个PB版本,因此建议你换用SQL Server 2000,数据管理和零散的查询业务处理起来很方便。
2、根据你的应用,你的“服务器”应该就是台PC吧?网络方面没有什么特殊的配置要求,但是服务器必须有固定的IP地址,其他机器能够ping通服务器即可。
3、PB写完的程序其实能够做分发工具的,但是你的应用而言那样做成本太高,可能没必要,写好的PB程序,直接编译(注意编译选项选择“Full”,并勾选各个PBD文件),而后将你生成的所有EXE、PBD单独拷贝到一个文件夹下,拷贝到其他机器上就行了。
4、其实你写的程序,只要连了数据文件(文本文件、Excel、Access等)就是C/S的。很多人都说C/S落伍了,其实倒也未必,关键看应用需要,我的单位客户端数上千,PB+Oracle的C/S构架,应用水平也是业内领先的。至于C端和S端是概念上的,C端就是你的PB程序,S端就是数据库,单机版无非就是你的机器又当C又当S罢了,数据的通信的接口其实都是统一的。
另外,开发PB数据库应用给你几条建议:
1、由于是数据库应用,因此最有价值的知识是数据库设计,数据库设计的核心是逻辑设计,包括识别业务对象、分解业务流程、建立对象关系和索引,说白了就是如何通过各个表和数据把你的业务说明白。举例来说,对于员工管理你要构建的表可能包括:员工、职位、部门、薪资级别等资源数据表,也有员工分派、薪资发放等业务数据表,你要搞清楚他们之间的关系。这件事要多花些精力做,如果开始没定好,后面你改一下人员表,可能所有的程序界面和dw都要改,不可轻视。
2、PB开发客户端之前应当先想好客户端的配置文件(通常是ini),比如你的“服务器”有可能迁移(换新的了),将提供服务的地址独立在ini中,服务器换了,客户端改一下ini就行了,例句:sqlca.servername=profilestring("emp_mgmt.ini","database","servername","emp"),具体用法看帮助吧。
3、PB开发的程序主要是在处理数据采集和报表的工作,你应该在数据采集的界面多做一些数据规范性的检查或约束,例如:邮编是否允许有字母、出生日期是否有下限等,如果开始不考虑,你库里的数据想出报表非得花了。
4、最后,C/S结构下多台机器的程序麻烦的一点是要靠虑数据并发存储和访问的问题,比如你单机时所有的事情都是顺序发生的,你输入张三的员工信息、再输入李四的员工信息、再修改张三的员工信息、再修改李四的员工信息。但是多客户端时,事情可能就不是这样了,有可能你和其他人一起修改张三的员工信息的不同部分,这样一来同时提交数据就会有问题(PB和数据库不会让错误发生,但是会有一方数据提交失败),如果这正问题出现的频率一高,系统就没法用了。
5、差不多就先写这些吧,其实开发工具不重要,PB只是做数据库应用更方便些,但软工思想和对数据库技术的理解决定着你写的程序的优劣。
最后,多学习、多练习、多上网问,祝你早日成功!

Ⅹ c 语言如何建立数据库

看你要建什么数据库的表了
不过基本上的方法是调用数据库提供的接口,然后执行建表的语句

热点内容
c语言小数四舍五入 发布:2024-05-19 16:23:28 浏览:524
数据库被注入攻击 发布:2024-05-19 16:21:31 浏览:834
微信忘记密码从哪里看 发布:2024-05-19 16:06:37 浏览:32
宝马x4贷款买哪个配置好 发布:2024-05-19 15:56:03 浏览:22
微控pid算法 发布:2024-05-19 15:46:31 浏览:135
云盘视频解压密码 发布:2024-05-19 15:23:17 浏览:848
和平精英怎么改地区位置安卓 发布:2024-05-19 15:19:05 浏览:286
酒店的路由器如何配置 发布:2024-05-19 15:10:44 浏览:500
rpgmaker脚本 发布:2024-05-19 14:48:58 浏览:407
hds存储虚拟化 发布:2024-05-19 14:47:09 浏览:21