1.配置环境:
IDE:Eclipse 3.4.2
编译器:MinGW-20110316安装的GCC4.5.2
数据库:mysql-5.5.10-win32
2.连接步骤:
l新建C工程Database_Connection
l工程中新建文件夹include,把MySQL安装路径中include里面的文件全部拷贝进来
l工程中新建文件夹lib,把MySQL安装路径中lib中的libmysql.lib拷贝进来
l打开工程文件的属性,C/C++ BuildàSettingsàGCC C CompileràDirectoriesàAdd directory pathàWorkspace,选中刚才在工程中新建的include文件夹,确定。
lMinGW C LinkeràMiscellaneousàOther objectsàAdd file pathàWorkspace,选中刚才拷贝进入工程中的libmysql.lib文件。这样,对于工程的设置就完成了。接下来编写.c文件进行连接测试。
l工程中新建source文件夹,里面新建db_test.c文件
/*
* db_test.c
*
* Created on: 2011-5-13
* Author: Hustc
*/
#ifndef MAIN_H_
#define MAIN_H_
#include
#include
#include
#include
//#include
#include
#endif /*MAIN_H_*/
int main()
{
MYSQL mysql;
MYSQL_RES *result;
MYSQL_ROW row;
mysql_init(&mysql); // 初始化mysql结构
if (!mysql_real_connect(&mysql, "localhost", "root", "lijing", "student", 3306, NULL, 0))
{
printf("/n数据库连接发生错误!");
}
else
{
printf("/n数据库连接成功!/n");
if (mysql_query(&mysql, "SELECT * FROM stu_info"))
{
printf("/n数据库查询发生错误");
}
else
{
// mysql_query(&mysql, "select stu_no, stu_name from stu_info");
printf("/n开始查询...");
result = mysql_store_result(&mysql); // 获得结果集
if (mysql_num_rows(result) != NULL)
{
int numRows = mysql_num_rows(result); // 获得结果集中的记录数
int numFields = mysql_num_fields(result); // 获得表中字段数
printf("/n共 %d 行记录,每行 %d 个字段。", numRows, numFields);
while (row = mysql_fetch_row(result))
{
int i = 0;
printf("/n 第 %d 行:", i);
for (i = 0; i < numFields; i++)
{
fprintf(stdout, " %s", row[i]); // 打印字段值
}
}
}
else
{
printf("/n无查询结果!");
}
mysql_free_result(result); // 释放结果集
}
}
mysql_close(&mysql); // 释放数据库连接
//fgetchar();
return 0;
}
编译执行,能够提示“数据库连接成功!”就说明数据库已经成功连接了。
以上是针对C工程进行的,在同样的环境下,针对C++工程进行的设置也是类似的。