http://www.phparticle.net
会员面板
会员登陆
免费注册
高级搜索
最后更新
我要投稿
退出登陆
设为首页
加入收藏
联系我们
所有文章
交流论坛
当前在线:
你的位置:
phpArticle
>
高级技术讨论
>
windows编程
> 在BCB中用MySQL C 直接联结MySQL的方法
在BCB中用MySQL C 直接联结MySQL的方法
日期:
2008-03-15 13:32:12
点击:
作者:
来源:
发表评论
|
查看评论
|
加入收藏
|
推荐给朋友
|
打印本文
| 字体:[
大
中
小
]
1、安装MySQL 4.1并正确设置
2、在MySQL安装目录下寻找libdebug或者libopt,两个目录下都有libmysql.dll和libmysql.lib,该动态链接库就是我们BCB所要调用的东东,但是由于该DLL是用VC编译的,与BCB的DLL格式不同,所以需要使用implib工具重新导出 libmysql.lib,在命令行模式下格式为:
c:>implib NewName.lib libmysql.dll
3、将刚才新导出的NewName.lib文件拷贝到你所创建的应用程序目录下
4、在BCB菜单下选择:project->Add to Project,然后在弹出的文件对话框中选择NewName.lib
5、在BCB菜单下选择:project->Option->Directories/Conditionals,将MySQL的include和lib目录追加到里面,比如我的是:
include path: (原有内容);C:Program FilesMySQLMySQL Server 4.1include
Library path: (原有内容);C:Program FilesMySQLMySQL Server 4.1libdebug
或者:(原有内容);C:Program FilesMySQLMySQL Server 4.1libopt
在上面Library path你可以选择一个,这最好与你所导出的.lib文件目录一致
6、在你要使用API的Form页面的.cpp文件首部加上:
#include
该.h文件是对API函数和类型的说明
7、在VC中MySQL使用了SOCKET宏,所以在BCB中要追加说明
typedef unsigned int SOCKET;
如果没有这一条说明,编译也会出错
8、OK,检察你其他的代码,然后使用MySQL C API函数验证一下吧。
//---------------------------------------------------------------------------
MYSQL执行函数定义
MYSQL_RES * Tform_main::sql(AnsiString sql)
{
MYSQL mysql;
MYSQL_RES * result;
mysql_init(&mysql);
mysql_real_connect(&mysql,form_main->url.c_str(),form_main->username.c_str(),form_main->password.c_str(),form_main->database.c_str(),0,NULL,0);
mysql_query(&mysql,"set names 'gb2312'");
if(mysql_query(&mysql,sql.c_str()))
{
mysql_free_result(result);
mysql_close(&mysql);
free(&mysql);
return NULL;
}
else
{
result=mysql_store_result(&mysql);
mysql_close(&mysql);
free(&mysql);
return result;
}
}
//---------------------------------------------------------------------------
//MYSQL函数调用
MYSQL_RES *result_tmp;
result_tmp=form_main->sql("select ...");
int i=0;
if(result_tmp!=NULL)
{
MYSQL_ROW row;
while(row=mysql_fetch_row(result_tmp))
{
.......
}
delete row;
}
mysql_free_result(result_tmp);
责任编辑:
niuboy
阅读全文