刚结束课程设计,也预示着假期立即就要到来了。本次课程设计并不算难,无非就是让做一个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数据库(课程设计总结)的更多相关文章

  1. C语言连接MySql数据库

    C语言连接MySql数据库(CodeBlocks) 操作系统:Windows7(32位)编译软件:Code::Blocks 10.05数 据 库:mysql-5.1.62-win32 数据库内的数据: ...

  2. Linux centos 7/ubantu下: 用 C 语言连接 MySQL数据库

    前言:最近用IPC.socket做ATM.聊天项目,考虑到需要用到数据库,所以总结一下centos.ubantu环境下怎么用C语言操作数据库,例如常见的增删改查等! 一.Centos环境安装mysql ...

  3. c语言连接mysql数据库的实现方法

    C语言连接mysql数据库,需要相应的头文件和lib文件,如果你安装Mysql数据库,会在安装目录下找到这些库文件,如果没有安装,也可以在网上找到 我这里也有一份网上找到的:/201205/other ...

  4. R语言-连接MySQL数据库方法

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   R语言连接数据库常用的方法有2种: 1.使用R数据库接口 连接MySQL,使用RMySQL包,使用前RMySQL包要先安 ...

  5. C语言连接MySQL数据库(转)

    c++连接MySQL有两种方式,1是原始的方法,2是用 Connector c++ .Connector c++  只是一种封装,使之更加方便. 1.原始方法 这里归纳了C API可使用的函数,并在下 ...

  6. 通过Java语言连接mysql数据库

    1加载驱动 2创建链接对象 3创建语句传输对象 4接受结果集 5遍历 6关闭资源

  7. 用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 ...

  8. Linux下C语言连接MySQL

    本文出自   http://blog.csdn.net/shuangde800 首先保证安装: 1:安装MySQL:sudo apt-get install mysql-server mysql-cl ...

  9. C语言连接mysql -insert-update

    C语言连接mysql数据库实现insert语句:数据库:test表:systeminfo CREATE TABLE `systeminfo` (  `id` int(11) NOT NULL AUTO ...

随机推荐

  1. Android中利用画图类和线程画出闪烁的心形

                                                        本文讲解主要涉及的知识点: 1.线程控制 2.画图类 3.心形函数 大家先看图片: <ig ...

  2. Chapter3:字符串、向量和数组

    C++11新特性:范围for(range for) for (declaration: expression) statement vector和数组都是对象的集合,而引用不是对象. vector对象 ...

  3. [Hive-Tutorial] What Is Hive

    What Is Hive Hive is a data warehousing infrastructure based on Hadoop. Hadoop provides massive scal ...

  4. 百度,你家云管家能靠谱点不?替你脸红!Shame on you!

    此文已提交百度云问题反馈, 坐等答复. 笔者最近下载某24+G分卷压缩文件, 24+G啊, 足足要下将近7个小时.满心欢喜的下载完却尼玛发现解压出错, 有6个文件无法解压?wrong password ...

  5. 批量ping主机脚本

    #! /bin/bash for i in `cat test.list`do   host=`echo $i|awk -F"," '{print $1}'`   app_IP=` ...

  6. 第二百八十七天 how can I 坚持

    终于把假请下来了,没有想象的那么复杂. 忘退车票了.明天应该有手续费了,现在又维护了,哎.10%的手续费了.7块钱,没了.希望不会白回去一趟啊. sql,group by  having .还是学不会 ...

  7. 【转】Maven实战(一)---Maven Build--缺少Jar包

    原博文出于: http://blog.csdn.net/liutengteng130/article/details/41426955   感谢! 新建的Maven项目,在build的时候总是打包失败 ...

  8. JavaScript,通过分析Array.prototype.push重新认识Array

    在阅读ECMAScript的文档的时候,有注意到它说,数组的push方法其实不仅限于在数组中使用,专门留作通用方法.难道是说,在一些类数组的地方也可以使用?而哪些是和数组非常相像的呢,大家或许一下子就 ...

  9. HDU 1213 How Many Tables (并查集)

    How Many Tables 题目链接: http://acm.hust.edu.cn/vjudge/contest/123393#problem/C Description Today is Ig ...

  10. 【C语言】-一维数组

    数组: 数组是一系列相同类型的有序数据的集合,数组中的每一个元素都是同一个数据类型,所有元素共用一个名字,用下标来区别数组中的每一个元素. C语言中,数组属于构造数据类型.一个数组中含有多个数组元素, ...