南宁推广软件/武汉seo优化服务
系统:Ubuntu11.04
1.刚安装完系统是没有mysql数据库的,首先我们要安装mysql数据库:
sudo apt-get install mysql-server-5.1
自动的,mysql就安装好了(包含server和client)。
2.需要用c语言去操作mysql,我们需要安装mysql的c语言开发包:
sudo apt-get install libmysqlclient16-dev
到现在你已经能用c语言操作mysql数据库了!
注意:程序中要加入头文件: #include
编译时别忘了连接库: gcc -o a a.c -lmysqlclient
3.c语言集成开发环境(IDE)中,比较喜欢codeblocks,安装codeblocks:
sudo apt-get install codeblocks
在codeblocks中的Settings->Compiler and debugger->Linker settings中加入mysqlclient,这样IDE编译时就会自动连接mysqlclient库了。
使用codeblocks的好处在于其函数提示功能!这是vi编辑器不能比拟的
!
4.具体操作数据库的过程,参考下面程序,该程序是从其他地方拷贝来的:
#include
#include
#include
#include // MySQL头文件
int main(int argc, char *argv[]) {
int t, r;
char *query;
MYSQL *conn_ptr;
MYSQL_RES *res;
MYSQL_ROW row;
// 初始化一个类型为MYSQL的数据结构
conn_ptr = mysql_init(NULL);
if (!conn_ptr) {
fprintf(stderr, "mysql_init failed\n");
return EXIT_FAILURE;
}
// 与MySQL数据库引擎建立连接。
conn_ptr = mysql_real_connect(conn_ptr, "localhost", "root", "root",
"test", 0, NULL, 0);
if (conn_ptr) {
printf("Connection success\n");
}
else {
printf("Connection failed\n");
}
query = "select * from stu";
// 执行query字符串中的SQL语句
t = mysql_real_query(conn_ptr, query, (unsigned int)strlen(query) );
if (t)
{
printf("Error making query: %s\n", mysql_error(conn_ptr));
}
else
{
printf("Query made...\n");
}
/* 获取语句执行的返回结果。(第一种)
res=mysql_store_result(conn_ptr);
for(r = 0; r <= mysql_num_rows(conn_ptr); r++)
{
// 取回结果集中的下一条记录 。
row = mysql_fetch_row(res);
if(row < 0)
break;
// 获得一条记录中的各个字段
for(t = 0; t < mysql_num_fields(res); t++)
{
printf("%s ",row[t]);
}
printf("\n");
}
*/
/* 获取语句执行的返回结果。(第二种)
res = mysql_use_result(conn_ptr);
while(row = mysql_fetch_row(res)) {
for (t = 0; t < mysql_num_fields(res); t++) {
printf("%s ", row[t]);
}
printf("\n");
}
*/
//上面是两种获取结果的方法,都是正确的!
//第一种用mysql_store_result()把结果集拷贝倒客户端,然后再操作。
//第二种没有拷贝,而是一条记录一条记录的从服务器读取。
//MySQL参考手册中的函数说明:
// mysql_store_result() 检索完整的结果集至客户端。
// mysql_use_result() 初始化逐行的结果集检索。
mysql_close(conn_ptr);
return 0;
}
分享到:
2011-06-11 17:43
浏览 2627
评论