C语言连接MySQL数据库(课程设计总结)
刚结束课程设计,也预示着假期立即就要到来了。本次课程设计并不算难,无非就是让做一个XXX系统,实现用户的注冊、登录、菜单管理、超级用户等等一些功能,到如今为止已经做过好几个了,所以基本流程都熟悉了!
我觉的最值得总结的地方就是:C语言与数据库连接。这块内容。由于之前都是用文件实现的。
★平台
这次课程设计主要用到:
● VC ++ 6.0
● mysql-5.0.18-win32
● Navicat for MySQL(MySQL 图形化的工具)
★配置
在写代码之前首先要让编译器知道MySQL数据库的一些API,这就须要在VC上配置数据库的一些路径。从网上找了一份比較不错的參考资料。
★数据库的API函数
● mysql_init()
原型:MYSQL *mysql_init(MYSQL *mysql)
作用:主要用来初始化MYSQL对象
●mysql_real_connect( )
原型:MYSQL *mysql_real_connect(MYSQL
*mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned long client_flag)
作用:用来连接一个MySQL数据库server,MySQL的结构体地址是&mysql,host主机名或地址是“localhost”,username是“root”,password是“root”,数据库是“test”,port是“3306”。
●mysql_store_result()
原型:MYSQL_RES *mysql_store_result(MYSQL *mysql)
作用:检索数据。获取数据库中的结果集
●mysql_num_rows()
原型:mysql_num_rows(MYSQL_RES *result)
作用:取得结果集中的记录数。
普通情况下mysql_num_rows()是在mysql_store_result()之后使用的,mysql_num_rows()的參数正是mysql_store_result()的返回值。
●mysql_fetch_row()
原型:MYSQL_ROW
mysql_fetch_row(MYSQL_RES *result)
作用:取得结果集中的一条记录,并且每运行一次,就会取下一行的记录。同理,它的參数与mysql_num_rows()同样
★C数组传递给SQL语句
在写到注冊功能时遇到一个问题。研究了好久。问题是这种:在C语言中,我所输入的用户信息(包含ID号、姓名、password)都保存在数组里面。而在数据库的函数里面仅仅有像这种形式的:
mytable是数据库中的表名。括号中面的是表中的字段。在values后的是要插入的数据。可是用户的注冊信息是保存在字符数组里面的,我如何将字符数组里面的数据变成符合SQL语句的数据呢?
找了非常多的资料,最终让我找到了一个函数:sprintf()
● 它的使用方法:
首先要申请一个字符数组,如果为sql_insert[50],它的作用是以后向此数组中写入数据。即将用户注冊的信息先写到这个数组里面。
然后:
这样就能够将用户注冊信息插入到数据库中。
当中sql_insert就是上面所说的数组。后面就是SQL语句。
查询信息的样例:
C语言连接MySQL数据库(课程设计总结)的更多相关文章
- C语言连接MySql数据库
C语言连接MySql数据库(CodeBlocks) 操作系统:Windows7(32位)编译软件:Code::Blocks 10.05数 据 库:mysql-5.1.62-win32 数据库内的数据: ...
- Linux centos 7/ubantu下: 用 C 语言连接 MySQL数据库
前言:最近用IPC.socket做ATM.聊天项目,考虑到需要用到数据库,所以总结一下centos.ubantu环境下怎么用C语言操作数据库,例如常见的增删改查等! 一.Centos环境安装mysql ...
- c语言连接mysql数据库的实现方法
C语言连接mysql数据库,需要相应的头文件和lib文件,如果你安装Mysql数据库,会在安装目录下找到这些库文件,如果没有安装,也可以在网上找到 我这里也有一份网上找到的:/201205/other ...
- R语言-连接MySQL数据库方法
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] R语言连接数据库常用的方法有2种: 1.使用R数据库接口 连接MySQL,使用RMySQL包,使用前RMySQL包要先安 ...
- C语言连接MySQL数据库(转)
c++连接MySQL有两种方式,1是原始的方法,2是用 Connector c++ .Connector c++ 只是一种封装,使之更加方便. 1.原始方法 这里归纳了C API可使用的函数,并在下 ...
- 通过Java语言连接mysql数据库
1加载驱动 2创建链接对象 3创建语句传输对象 4接受结果集 5遍历 6关闭资源
- 用C语言操作MySQL数据库,进行连接、插入、修改、删除等操作
C/C++ code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 3 ...
- Linux下C语言连接MySQL
本文出自 http://blog.csdn.net/shuangde800 首先保证安装: 1:安装MySQL:sudo apt-get install mysql-server mysql-cl ...
- C语言连接mysql -insert-update
C语言连接mysql数据库实现insert语句:数据库:test表:systeminfo CREATE TABLE `systeminfo` ( `id` int(11) NOT NULL AUTO ...
随机推荐
- hdu 1024(最大和连续子序列增强版)
题意:最大和连续子序列的增强版,要求从一序列中取出若干段,这些段之间不能交叉,使得和最大并输出. 分析:用dp[i][j]表示前j个数取出i段得到的最大值,那么状态转移方程为dp[i][j]=max( ...
- 深度学习String、StringBuffer、StringBuilder
相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问到的地方,今天就来和大家一起学习一下String.StringBuilder和StringBuffer这几个类,分析它 ...
- codeforces 700B Connecting Universities 贪心dfs
分析:这个题一眼看上去很难,但是正着做不行,我们换个角度:考虑每条边的贡献 因为是一棵树,所以一条边把树分成两个集合,假如左边有x个学校,右边有y个学校 贪心地想,让每条边在学校的路径上最多,所以贡献 ...
- 采集网页数据---Using Java
http://www.cnblogs.com/longwu/archive/2011/12/24/2300110.html 1).学习网页数据采集,首先必不可少的是学习java的正则表达式(Regex ...
- 多校5 HDU5787 K-wolf Number 数位DP
// 多校5 HDU5787 K-wolf Number 数位DP // dp[pos][a][b][c][d][f] 当前在pos,前四个数分别是a b c d // f 用作标记,当现在枚举的数小 ...
- Designing Evolvable Web API with ASP.NET 随便读,随便记 “The Internet,the World Wide Web,and HTTP”
1982年,诞生了 Internet; 1989年,诞生了World Wide Web . "World Wide Web"的构造为主要由 三部分构成: resources 资源 ...
- 第二百七十八天 how can I 坚持
生命的意义.必须要做点什么啊.今年我们二十七八岁. 遇事不急,理清头绪就没那么复杂. 今天突然有点悔意,元旦好像应该不回去看房,花销有点大了,算了,过去的就让他过去吧,都是回忆.至少玩的挺嗨. 记住, ...
- homework07
我阅读的: http://www.cnblogs.com/zhuyp1015/category/370450.html http://blog.csdn.net/hzyong_c/article/de ...
- Servlet学习笔记(1)--第一个servlet&&三种状态对象(cookie,session,application)&&Servlet的生命周期
servlet的404错误困扰了两天,各种方法都试过了,翻书逛论坛终于把问题解决了,写此博客来纪念自己的第一个servlet经历. 下面我会将自己的编写第一个servlet的详细过程提供给初学者,大神 ...
- HDU 5724 Chess (sg函数)
Chess 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5724 Description Alice and Bob are playing a s ...