点击这里给我发消息 点击这里给我发消息

初学者,想用C来连接MySql,请指教!

添加时间:2013-12-7
    相关阅读: 数据库 SQL Mysql C语言 系统
我的操作系统是RedHat 7.3(完全安装),请问怎样这在个环境下用C语言来连接到RedHat 7.3自带的MySql数据库,我只知道MySql自带了和C语言的接口,但是具体怎样使用,怎样进行编译却不清楚,请给个代码,帮帮我吧,多谢!!!

 bombbaby 回复于:2003-03-13 12:06:18
[code:1:4f16699c22]
#include <mysql.h>
#include <stdio.h>

/******连接到Mysql数据库上******/
MYSQL *Connect_Mysql(char *hostname, char *username, char *passwd, char *dbname, \
        unsigned portnum, char *socketname, unsigned flags)
{
        MYSQL   *conn;

        conn = mysql_init(NULL);
        if (conn == NULL) {
                return(NULL);
        }
        if (mysql_real_connect(conn, hostname, username, passwd, dbname, portnum, \
                socketname, flags) == NULL) {
                Print_Error(conn, __FILE__, __LINE__);
                return(NULL);
        }
        return(conn);
}
[/code:1:4f16699c22]

这个是用来连接mysql数据库的,反正就是调用mysql下的C api,看一下mysql的文档就知道它的api是什么了。

[code:1:4f16699c22]
        MYSQL_RES       *res_set = NULL;
        MYSQL_ROW       row;

        snprintf(strSql, 1023, "SELECT max(iServID) FROM tUserBasic");//sql 语句
        if( mysql_query(conn, strSql) != 0 ) {      //根据sql语句执行
                Print_Error(conn, __FILE__, __LINE__);
                return -1;
        }
        if( (res_set = mysql_store_result(conn)) == NULL ) {//得到返回记录
                Print_Error(conn, __FILE__, __LINE__);
                return -2;
        }
        if( (row = mysql_fetch_row(res_set)) == NULL ) {//得到记录的一行
                servid = 0;
        }
        else
                sscanf(row[0], "%d", &servid);
[/code:1:4f16699c22]

l连接上以后返回一个MYSQL* 的指针,然后就可以对它操作了。
相关初学者,想用C来连接MySql,请指教!

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册