我是初学者,想请教大哥大姐们一个问题?请您给点面子! 我并没有用vc访问过mysql。不过我想在vc中用c去访问mysql总可以吧。你用mysql提供的c api 试试。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这位大哥,我就是用vc中c访问的,可总是连不上你帮我看一下我的代码;#include <stdio.h>#include <stdlib.h>#include <my_global.h>#include <mysql.h>int main(){ /***************变量声明部分***********/ MYSQL *mysql; MYSQL_RES *result; MYSQL_ROW row; unsigned int num_fields; int i; /*******连接部分 ************/ mysql=mysql_init(mysql); if(!mysql_real_connect(mysql,"localhost","pub","pub","userdb",0,NULL,0)) { fprintf(stderr,"failed to connect:error:%\n",mysql_error(mysql)); //return false; return -1; } /***********打印连接信息*************/ printf("server info:%s\n",mysql_get_server_info(mysql)); printf("host info:%s\n",mysql_get_host_info(mysql)); /******************选择数据库***********/ if (mysql_select_db(mysql,"userdb")) { printf("select db wrong:%s\n",mysql_error(mysql)); return -1; } /*********查询***********/ mysql_query(mysql,"select * from user order by ID"); result=mysql_store_result(mysql); if (result==NULL) { printf("error:%s\n",mysql_error(mysql)); return -1; } num_fields=mysql_num_fields(result); while((row=mysql_fetch_row(result))) { unsigned long *lengths; printf("######row######"); lengths=mysql_fetch_lengths(result); for(i=0;i<4;i++) { printf("[%.*s\n",(int)lengths[i],row[i]?row[i]:"NULL"); } } /*********释放内存,关闭连接*********/ mysql_free_result(result); mysql_close(mysql);} 楼上的大哥可以指点一下用 vc的c 连mysql的步骤吗? 试试:1.分别把"c:\mysql\include"和"c:\mysql\lib\debug"添加到编译选项的包含路径中(在Tools/Options/derectoies中)2.在project settings 中加入c:\mysql\lib\libmysql.lib的接口库 看了你的代码,没有什么大问题。就是在初始化的时候,传的参数怎么是mysql而不是0或者NULL呢?你步步都有出错提示,为什么不在初始化的时候也加上呢?如果初始化不成功的话,下面的操作都不会进行的。试试吧。 mysql=mysql_init(mysql);不能使用这语句,我也是初学者,上午才发现了这个,呵呵。要不然你联不上数据库,包错。这样就行:mysql=mysql_init(NULL); 求一级联查询SQL 批量插入一堆数据,不知道怎么弄才好了 两表操作,替换字段问题求解 请教一个select语句... 求客户端备份远程mysql服务器脚本 开发一套影吧收费管理系统,用什么数据库,送分!!! 请yigeyigeyige(怡戈)进来,谈论mysql同步问题,谢谢 我的mysql-front在执行Sql语句有问题? mysql的复制 在mysql里,为什么查询后我的第一条记录总是现实不出来??? mysql 如何设置远程登陆了? MySQL JDBC 驱动程序在哪里下载?
你帮我看一下我的代码;
#include <stdio.h>
#include <stdlib.h>
#include <my_global.h>
#include <mysql.h>int main()
{
/***************变量声明部分***********/
MYSQL *mysql;
MYSQL_RES *result;
MYSQL_ROW row;
unsigned int num_fields;
int i;
/*******连接部分 ************/
mysql=mysql_init(mysql);
if(!mysql_real_connect(mysql,"localhost","pub","pub","userdb",0,NULL,0))
{
fprintf(stderr,"failed to connect:error:%\n",mysql_error(mysql));
//return false;
return -1;
}
/***********打印连接信息*************/
printf("server info:%s\n",mysql_get_server_info(mysql));
printf("host info:%s\n",mysql_get_host_info(mysql)); /******************选择数据库***********/
if (mysql_select_db(mysql,"userdb"))
{
printf("select db wrong:%s\n",mysql_error(mysql));
return -1; } /*********查询***********/
mysql_query(mysql,"select * from user order by ID");
result=mysql_store_result(mysql);
if (result==NULL)
{
printf("error:%s\n",mysql_error(mysql));
return -1;
}
num_fields=mysql_num_fields(result);
while((row=mysql_fetch_row(result)))
{
unsigned long *lengths;
printf("######row######");
lengths=mysql_fetch_lengths(result);
for(i=0;i<4;i++)
{
printf("[%.*s\n",(int)lengths[i],row[i]?row[i]:"NULL");
}
}
/*********释放内存,关闭连接*********/ mysql_free_result(result);
mysql_close(mysql);
}
1.分别把"c:\mysql\include"和"c:\mysql\lib\debug"添加到编译选项的包含路径中(在Tools/Options/derectoies中)
2.在project settings 中加入c:\mysql\lib\libmysql.lib的接口库
你步步都有出错提示,为什么不在初始化的时候也加上呢?
如果初始化不成功的话,下面的操作都不会进行的。
试试吧。
不能使用这语句,我也是初学者,上午才发现了这个,呵呵。
要不然你联不上数据库,包错。
这样就行:mysql=mysql_init(NULL);