连接Mysql数据库的问题,纠结了1下午,还请各位高手来看下~

yang3wei 2011-05-30 04:34:19
不是采用ado的形式连接mysql
用的是libmysql.lib、mysql.h文件来连接数据库
另外我下载了一个 mysql-connector-c++-1.1.0-win32.msi 这个东西是怎么用的啊?
安装了之后依然不能连接成功啊,观察了下就只发现mysql文件夹下多了个 MySQL Connector C++ 1.1.0 文件夹
代码如下:

#include <stdio.h>
#include <mysql.h>
#include <mysql_com.h>
#include <mysql_version.h>
#include <my_alloc.h>


#define tableName "article"
main()
{
char mysqlServer[20] = "localhost";
char query[300];
MYSQL *conn;
MYSQL_RES *res;
MYSQL_FIELD *fd;
MYSQL_ROW row;
int rowCount = 0;
int colCount = 0;
int i, j;


conn = mysql_init(NULL);
//连接数据库mysql
if (!mysql_real_connect(conn,"localhost", "root", "876521963", "mydata",3306,NULL,0))
{
printf("connect mysql error!\n");
return 0;
}
//==================================

sprintf(query,"select * from %s",tableName);
if( mysql_query(conn, query) != 0 )
{
printf("query error!\n");
return 0;
}else
{
res = mysql_store_result(conn);
rowCount = (int) mysql_num_rows( res );
colCount = (int) mysql_num_fields( res );
printf(" result: %d records found\n fields: %d \n", rowCount, colCount);
row = mysql_fetch_row( res );
for(i = 0; i < rowCount; i++)
{
printf(" show: ");
for( j = 0; j < colCount; j++)
{
printf("[ %s ] ", row[j] );
} // end for
printf(" \n ");
} // end for
}
mysql_free_result(res); //释放结果集
mysql_close(conn);

//return 0;
}


我在 http://d.download.csdn.net/down/2049513/bin_zh123 这个网址下载了个连接mysql所需要的rar文件
“C连接MYSQL5.1所需要的库文件”
里面有以下文件
libmySQL.dll
libmySQL.lib
my_alloc.h
my_list.h
mysql.h
mysql_com.h
mysql_time.h
mysql_version.h
typelib.h


而且我也在工程中调整了设置,加入了 libmysql.lib库文件
另外问下到底C、C++连接数据库除了数据库生产商提供的.h、.lib文件以外
是否还需要加入 winsock.h 头文件??


最后就是在mysql安装目录下未曾看到 libmysql.lib文件
却存在一个 mysql.dll 文件,难道可以通过加载这个动态链接库文件取代 libmysql.lib 文件的作用?

刚学C++不久,在网上也找了大量的连接mysql数据库的实例
但是却没有一个能运行的,搞了一个下午还不曾成功,很纠结郁闷,希望能得到大家的帮助

如果可以的话,能不能提供几个可以用的源文件,不甚感激
或者帮我改一下贴上
我的数据库名是mydata,账号密码分别是root、root,mysql就装在我的机器上面
所要连接的表名是 article

额,最后把上面那个代码报出的错误贴上
...全文
273 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
yang3wei 2011-05-31
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zwfgdlc 的回复:]
http://blog.csdn.net/zwfgdlc/archive/2010/05/04/5556654.aspx
[/Quote]
抱歉没看到朋友的回复,分已经给别人了,下次有机会给补上吧~
zxdyu2009 2011-05-31
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 yang3wei 的回复:]
引用 6 楼 zxdyu2009 的回复:
你用libmysql.lib libmysql.dll mysql.h
因为libmysql要用到winsock所有要包含这个头文件。
不需要C++的这个安装包,用libmysql直接就是C 接口了。
我最近一直用VC+MYSQL做项目,其实MYSQL还有一个问题就是字符集,MYSQL安装的时候要utf8,这样可以满足多国语言,数据库创建的表格式……
[/Quote]
我的邮箱:zxdyu2008@163.com
用的比较多。
yang3wei 2011-05-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zxdyu2009 的回复:]
你用libmysql.lib libmysql.dll mysql.h
因为libmysql要用到winsock所有要包含这个头文件。
不需要C++的这个安装包,用libmysql直接就是C 接口了。
我最近一直用VC+MYSQL做项目,其实MYSQL还有一个问题就是字符集,MYSQL安装的时候要utf8,这样可以满足多国语言,数据库创建的表格式都要utf8字符集,插入中文等语言时先执行"s……
[/Quote]
Thank you very much!!!你帮我解决了一个大问题,非常非常感谢,搞了1个下午啊
此刻我无比激动~
愿意交个朋友么,我QQ88480585(申请好友请注明“VC同行”),或者你留下你的联系方式~
yang3wei 2011-05-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zxdyu2009 的回复:]
你用libmysql.lib libmysql.dll mysql.h
因为libmysql要用到winsock所有要包含这个头文件。
不需要C++的这个安装包,用libmysql直接就是C 接口了。
我最近一直用VC+MYSQL做项目,其实MYSQL还有一个问题就是字符集,MYSQL安装的时候要utf8,这样可以满足多国语言,数据库创建的表格式都要utf8字符集,插入中文等语言时先执行"s……
[/Quote]
恩,有同感,我以前做java开发的,一次听别人说utf8编码比较好,就把项目编码改了,结果不知道纠结了我多久,不过前段日子还是解决了~
不过我建的是控制台应用程序啊,没用到stdafx.h这个文件
难道不能用控制台直接在文件顶部写么?期待回复!
zxdyu2009 2011-05-30
  • 打赏
  • 举报
回复
你用libmysql.lib libmysql.dll mysql.h
因为libmysql要用到winsock所有要包含这个头文件。
不需要C++的这个安装包,用libmysql直接就是C 接口了。
我最近一直用VC+MYSQL做项目,其实MYSQL还有一个问题就是字符集,MYSQL安装的时候要utf8,这样可以满足多国语言,数据库创建的表格式都要utf8字符集,插入中文等语言时先执行"set names utf8"。
zxdyu2009 2011-05-30
  • 打赏
  • 举报
回复
在stdafx.h中加入
#include <WinSock.h>
#include "mysql.h"

在main()上面写入:
#pragma comment(lib, "Ws2_32.lib")
#pragma comment(lib, "libmysql.lib")

然后用MYSQL的C API函数就可以了,其他的头文件不要了。
yang3wei 2011-05-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 smwhotjay 的回复:]
winsock头文件冲突吧
[/Quote]
啊??!不会吧,上面那个文件里面我没有给加上#include <Winsock.h>啊?
额,难道你的意思是我不该把所有的那些头文件占到Include目录里面
只要一个 mysql.h 就行了?
期待回复~
smwhotjay 2011-05-30
  • 打赏
  • 举报
回复
winsock头文件冲突吧
yang3wei 2011-05-30
  • 打赏
  • 举报
回复
c:\program files\microsoft visual studio\vc98\include\winsock.h(716) : error C2146: syntax error : missing ')' before identifier 's'
c:\program files\microsoft visual studio\vc98\include\winsock.h(716) : warning C4229: anachronism used : modifiers on data are ignored
c:\program files\microsoft visual studio\vc98\include\winsock.h(716) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\include\winsock.h(718) : error C2146: syntax error : missing ')' before identifier 's'
c:\program files\microsoft visual studio\vc98\include\winsock.h(718) : warning C4229: anachronism used : modifiers on data are ignored
c:\program files\microsoft visual studio\vc98\include\winsock.h(719) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\include\winsock.h(721) : error C2146: syntax error : missing ')' before identifier 's'
c:\program files\microsoft visual studio\vc98\include\winsock.h(721) : warning C4229: anachronism used : modifiers on data are ignored
c:\program files\microsoft visual studio\vc98\include\winsock.h(722) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\include\winsock.h(724) : error C2146: syntax error : missing ')' before identifier 's'
c:\program files\microsoft visual studio\vc98\include\winsock.h(724) : warning C4229: anachronism used : modifiers on data are ignored
c:\program files\microsoft visual studio\vc98\include\winsock.h(725) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\include\winsock.h(735) : error C2146: syntax error : missing ')' before identifier 's'
c:\program files\microsoft visual studio\vc98\include\winsock.h(735) : warning C4229: anachronism used : modifiers on data are ignored
c:\program files\microsoft visual studio\vc98\include\winsock.h(735) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\include\winsock.h(741) : error C2146: syntax error : missing ')' before identifier 's'
c:\program files\microsoft visual studio\vc98\include\winsock.h(741) : warning C4229: anachronism used : modifiers on data are ignored
c:\program files\microsoft visual studio\vc98\include\winsock.h(741) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\include\winsock.h(743) : error C2146: syntax error : missing ')' before identifier 's'
c:\program files\microsoft visual studio\vc98\include\winsock.h(743) : warning C4229: anachronism used : modifiers on data are ignored
c:\program files\microsoft visual studio\vc98\include\winsock.h(744) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\include\winsock.h(749) : error C2146: syntax error : missing ')' before identifier 's'
c:\program files\microsoft visual studio\vc98\include\winsock.h(749) : warning C4229: anachronism used : modifiers on data are ignored
c:\program files\microsoft visual studio\vc98\include\winsock.h(749) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\include\winsock.h(751) : error C2146: syntax error : missing ')' before identifier 's'
c:\program files\microsoft visual studio\vc98\include\winsock.h(751) : warning C4229: anachronism used : modifiers on data are ignored
c:\program files\microsoft visual studio\vc98\include\winsock.h(752) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\include\winsock.h(754) : error C2146: syntax error : missing ')' before identifier 's'
c:\program files\microsoft visual studio\vc98\include\winsock.h(754) : warning C4229: anachronism used : modifiers on data are ignored
c:\program files\microsoft visual studio\vc98\include\winsock.h(755) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\include\winsock.h(757) : error C2146: syntax error : missing ')' before identifier 's'
c:\program files\microsoft visual studio\vc98\include\winsock.h(757) : warning C4229: anachronism used : modifiers on data are ignored
c:\program files\microsoft visual studio\vc98\include\winsock.h(757) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\include\winsock.h(759) : error C2143: syntax error : missing ';' before '__stdcall'
c:\program files\microsoft visual studio\vc98\include\winsock.h(759) : error C2501: 'SOCKET' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\winsock.h(759) : error C2086: 'SOCKET' : redefinition
c:\program files\microsoft visual studio\vc98\include\winsock.h(824) : error C2146: syntax error : missing ')' before identifier 's'
c:\program files\microsoft visual studio\vc98\include\winsock.h(824) : warning C4229: anachronism used : modifiers on data are ignored
c:\program files\microsoft visual studio\vc98\include\winsock.h(825) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\include\winsock.h(827) : error C2146: syntax error : missing ')' before identifier 's'
c:\program files\microsoft visual studio\vc98\include\winsock.h(827) : warning C4229: anachronism used : modifiers on data are ignored
c:\program files\microsoft visual studio\vc98\include\winsock.h(827) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\include\winsock.h(843) : error C2146: syntax error : missing ')' before identifier 'hSocket'
c:\program files\microsoft visual studio\vc98\include\winsock.h(843) : warning C4229: anachronism used : modifiers on data are ignored
c:\program files\microsoft visual studio\vc98\include\winsock.h(850) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\include\winsock.h(855) : error C2146: syntax error : missing ')' before identifier 'sListenSocket'
c:\program files\microsoft visual studio\vc98\include\winsock.h(855) : warning C4229: anachronism used : modifiers on data are ignored
c:\program files\microsoft visual studio\vc98\include\winsock.h(863) : error C2059: syntax error : ')'
f:\project related\myprojects(vc++ 6.0)\again\connmysql\connmysql2.cpp(25) : warning C4244: '=' : conversion from 'unsigned __int64' to 'unsigned long', possible loss of data
ConnMysql3.cpp
f:\project related\myprojects(vc++ 6.0)\again\connmysql\connmysql3.cpp(6) : fatal error C1083: Cannot open include file: 'mysql_connection.h': No such file or directory
ConnMysql4.cpp
f:\project related\myprojects(vc++ 6.0)\again\connmysql\connmysql4.cpp(16) : warning C4101: 'fd' : unreferenced local variable
f:\project related\myprojects(vc++ 6.0)\again\connmysql\connmysql4.cpp(58) : warning C4715: 'main' : not all control paths return a value
执行 cl.exe 时出错.
Creating browse info file...
BSCMAKE: error BK1506 : cannot open file '.\Debug\ConnMysql3.sbr': No such file or directory
执行 bscmake.exe 时出错.

ConnMysql.exe - 1 error(s), 0 warning(s)[/color]
yang3wei 2011-05-30
  • 打赏
  • 举报
回复
[color=#FF0000]--------------------Configuration: ConnMysql - Win32 Debug--------------------
Compiling...
ConnMysql2.cpp
c:\program files\microsoft visual studio\vc98\include\mysql_com.h(243) : error C2146: syntax error : missing ';' before identifier 'fd'
c:\program files\microsoft visual studio\vc98\include\mysql_com.h(243) : error C2501: 'SOCKET' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\mysql_com.h(243) : error C2501: 'fd' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\mysql_com.h(417) : error C2065: 'SOCKET' : undeclared identifier
c:\program files\microsoft visual studio\vc98\include\mysql_com.h(417) : error C2146: syntax error : missing ')' before identifier 's'
c:\program files\microsoft visual studio\vc98\include\mysql_com.h(418) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\include\winsock.h(35) : error C2378: 'SOCKET' : redefinition; symbol cannot be overloaded with a typedef
c:\program files\microsoft visual studio\vc98\include\winsock.h(51) : error C2146: syntax error : missing ';' before identifier 'fd_array'
c:\program files\microsoft visual studio\vc98\include\winsock.h(51) : error C2501: 'SOCKET' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\winsock.h(51) : error C2501: 'fd_array' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\winsock.h(58) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\include\winsock.h(707) : error C2143: syntax error : missing ';' before '__stdcall'
c:\program files\microsoft visual studio\vc98\include\winsock.h(707) : error C2501: 'SOCKET' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\winsock.h(707) : error C2146: syntax error : missing ')' before identifier 's'
c:\program files\microsoft visual studio\vc98\include\winsock.h(707) : warning C4229: anachronism used : modifiers on data are ignored
c:\program files\microsoft visual studio\vc98\include\winsock.h(707) : error C2501: 'accept' : missing storage-class or type specifiers
c:\program files\microsoft visual studio\vc98\include\winsock.h(708) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\include\winsock.h(710) : error C2146: syntax error : missing ')' before identifier 's'
c:\program files\microsoft visual studio\vc98\include\winsock.h(710) : warning C4229: anachronism used : modifiers on data are ignored
c:\program files\microsoft visual studio\vc98\include\winsock.h(710) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\include\winsock.h(712) : error C2146: syntax error : missing ')' before identifier 's'
c:\program files\microsoft visual studio\vc98\include\winsock.h(712) : warning C4229: anachronism used : modifiers on data are ignored
c:\program files\microsoft visual studio\vc98\include\winsock.h(712) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\include\winsock.h(714) : error C2146: syntax error : missing ')' before identifier 's'
c:\program files\microsoft visual studio\vc98\include\winsock.h(714) : warning C4229: anachronism used : modifiers on data are ignored
c:\program files\microsoft visual studio\vc98\include\winsock.h(714) : error C2059: syntax error : ')'

4,012

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧