mysql mingw_使用mingw编程,如何操作mysql 数据库,最好有例程。

展开全部

下载一个mingw的utils包,用0.3版本,0.41版本有问题。

拷贝mysql/lib/opt下的62616964757a686964616fe59b9ee7ad9431333332623332libmysql.lib文件到mingw的home/$user目录下,拷贝mysql/lib/opt/libmysql.dll文件到mingw的bin目录下.

把utils的包解压,把bin目录下的文件拷贝到mingw的bin目录下.

进行mingw的环境,执行

reimp -d libmysql.lib

dlltool -k -d libmysql.def -l libmysql.a

把生成的libmysql.a拷贝到mingw的lib下

把mysql/include下的全部文件拷贝到mingw/include下(省事)

在mysql中创建数据库test,创建表mt(id int , content varchar(20));

写c代码,m.cc

#include

#include

#include

#include

#include

using namespace std;

MYSQL *conn;

int main() {

MYSQL_RES * res_set;

MYSQL_ROW row;

unsigned int i, ret;

MYSQL_FIELD * field;

unsigned int num_fields;

conn = mysql_init(NULL);

if(conn != NULL)

cout << "mysql_init success!" << endl;

else {

printf("failed !\n");

return 0;

}

ret = mysql_options(conn, MYSQL_SET_CHARSET_NAME, "gbk");//最好与数据库charset一致

if(ret == 0)

cout << "mysql_options success!" << endl;

else printf("failed !\n");

if(mysql_real_connect(conn, "localhost", "root","root", "test", 0, NULL, 0) != NULL)

cout << "mysql_real_connect success!" << endl;

else printf("failed !\n");

mysql_query(conn, "INSERT INTO mt VALUES (1,'ABCDEF'),(2,'汉字支持');");

printf("insert affect %d sentences\n", mysql_affected_rows(conn));

if(mysql_query(conn,"SELECT * FROM mt"))

cout << "mysql query failed!\n";

res_set = mysql_store_result(conn);

if (res_set == NULL)

cout << "res_set is null" << endl;

num_fields = mysql_num_fields(res_set);

for(i = 0; i < num_fields; i++)

{

field = mysql_fetch_field_direct(res_set, i);

printf("%s\t\t", field->name);

}

cout << endl;

while ((row = mysql_fetch_row(res_set)) != NULL)

{

for (i = 0; i < mysql_num_fields(res_set); i ++)

{

printf("%s\t\t",row[i] != NULL ? row[i] : "NULL");

}

printf("\n");

}

mysql_close(conn);

return 0;

}

编译:g++ -lmysql -o m m.cc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值