vc6.0 点击鼠标获取mysql数据库所在行_VC6.0中对MySQL数据库的操作

VC6.0中对MySQL数据库的操作

1.在mysql目录下找到名字为libmySQL.dll和libmySQL.lib 的文件拷贝到当前工程目录下,并在“工程->设置->连接”中链接libmysql.lib。

2.将mysql/include里面的头文件拷贝到当前工程目录下(可不用include)。

3.#include

#include "mysql.h"

4.程序代码:

void CMySQLDlg::Search()

{

MYSQL mysql;

MYSQL_RES *result;

MYSQL_ROW row;

mysql_init(&mysql);   //初始化MYSQL结构

//参数:MYSQL结构;服务器主机名; 用户名; 密码; 数据库; 后三个参数取默认值

if (!(mysql_real_connect(&mysql,"localhost","root","123","persons",0,NULL,0)))

{   MessageBox(“连接失败”);

return;  }

if (mysql_query(&mysql,"select * from china")!=0)

{     MessageBox(“查询失败”);

return;  }

else

{

if (!(result=mysql_store_result(&mysql)))

{     return;   }

else

{

int numRecords = mysql_num_rows(result);//得到记录条数

int numFields = mysql_num_fields(result);  //得到字段数目

for (int i=0;i

{  // mysql_fetch_row访问结果集中包含的记录,该函数每次读一条记录

row = mysql_fetch_row(result);

for (int j=0;j

{  str += row[j];  }

}

MessageBox(str);

}

}

mysql_free_result(result);

mysql_close(&mysql);

}

如何用mysql_real_connect()连接远程数据库?我要编一段程序用来远程连接一个mysql数据库。我在数据库的本机上做试验,发现mysql_real_connect()的第二个参数设为"localhost"时可以正常连接,当改写为该机器的IP地址"192.168.100.2"时就连接失败。我在程序中写的原句为:mysql_real_connect(mysql,"192.168.100.2","root","","mydns",0,NULL,0)。在mysql数据库中有一个mysql库,它里面包含一个user表,里面存有所有帐号及它们的权限及特征。对应我的user表中找到User项为root的,发现有两项,其Host项分别为localhost和localhost.localdomain。我们只需要把'localhost'改为'%'就可以让所有远程机器以root帐号登陆mysql服务器。也可以将'localhost'改为某一个ip地址,这样就可以在该地址的机器上登陆mysql服务器。这些都没有问题,只是网上被广为传颂的一个更改Host项的方法是错误的。他的方法是用update语句将指定User项的Host项改过来,如果想添加一个新的用于远程访问的帐号,就用insert语句添加。事实是这根本不行,我按照作了,表是变了,但还是连不上。后来经过询问才知道,要想改,结合我的情况,必须用下面的这条语句:grant all privileges on mydns.* to [email='root'@'%']'root'@'%25'[/email];来改变root帐号的权限。如果添加新帐号也是如此。想必这个表比较特殊,用普通的SQL语句不能操作。如果帐号有密码,后面再加上identified by '***'(*为你帐号的密码)就可以了。MySQL语句:quit 退出(不用加分号)select version(),current_date(); 显示版本和当前日期show databases; 显示所有数据库(包括test和mysql)use test; 选择数据库testselect database(); 显示当前选择的数据库/c 取消该条命令show tables; 显示数据库中的表show tables from mysql; 显示数据库mysql中的表describe name_table显示字段和详细信息create database base; 创建数据库basedrop database base; 删除数据库baseoptimize table info; 优化表(清理刷新表)load data local infile ‘ c://table.txt ’ into table info; 将文件中的数据导入到表info中(注意文件中的数据字段间用Tab键隔开)操作技巧:1如果打命令时,回车后发现忘记加分号,无须重打一遍命令,只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。2 你可以使用光标上下键调出以前的命令。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值