libmysql.lib已经在VC6中做了相关设置,编译没错。
运行时显示“无法启动程序。计算机上中丢失LIBMYSQL.DLL。尝试重新安装该程序”
这个文件明明就在安装目录里啊!!
该怎么办啊??!
VC连接mysql问题
答案:2 悬赏:60
解决时间 2021-12-31 20:38
- 提问者网友:王者刀枪不入
- 2021-12-31 09:50
最佳答案
- 二级知识专家网友:我的任性你不懂
- 2021-12-31 11:25
在mysql安装目录中找到libmysql.dll,拷贝到项目文件夹下。如果,mysql安装目录中找不到libmysql.dll,就在网上下载一下,再拷贝到项目文件夹下
全部回答
- 1楼网友:桃花别处起长歌
- 2021-12-31 11:50
第一步 建立初始化mysql对象,并且将其初始化。即定义cdatabase类对象,这样程序就会自动调用构造函数cdatabase(),完成初始化。 构造函数实现如下: cdatabase::cdatabase () { mysql_init (&mysql); } 完成初始化只需定义cdatabase类对象,即 cdatabase base; 第二步 连接服务器,并连接需要的数据库。即调用connectdb(database_param *p)函数,结构体database_param中存放数据库参数,包括主机名、用户名、密码、数据库名等。该函数如返回true表示连接成功,否则表示失败。 连接函数实现如下: bool cdatabase::connectdb(database_param *p) { if(!mysql_real_connect(&mysql,p->host,p->user,p->password,p->db,p->port,p->unix_socket,p->client_flag)) { outerrors(); // 输出错误信息 return false; } return true; } 第三步 对数据库进行加锁。即调用locktable(char* tablename,char* priority),对相应的表tablename完成相应属性priority的加锁,使程序兼容多线程功能。 加锁函数实现如下: bool cdatabase::locktable(char* tablename,char* priority) { char str[50]; sprintf(str,"lock tables %s %s",tablename,priority); if(mysql_query(&mysql,str)) return false; return true; } 第四步 完成数据库操作。即根据需要调用updaterecord(data_param *para)、selectrecord(data_param *para)、insertrecord(data_param *para)、delrecord(data_param *para)等操作。其中的结构体data_param中存放数据库操作参数。上述两个结构体的定义在global.h中。 insertrecord函数实现如下,其它实现方法相似: bool cdatabase::insertrecord(data_param *para) { char str[80]; sprintf(str,"insert into %s values(%s)",para->tab_name,para->insert_val); if(mysql_query(&mysql,str)) return false; return true; } 第五步 解锁数据库。即调用unlocktable(),完成对上述被加锁的表的解锁。 解锁函数实现如下: bool cdatabase::unlocktable() { if(mysql_query(&mysql,"unlock tables")) return false; return true; } 第六步 关闭数据库连接。即调用析构函数~cdatabase(),关闭数据库,并自动释放初始化时定义的cdatabase类对象。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯