VC编程之VC6.0 下MFC程序与MySql数据库连接的设置
小标 2018-12-28 来源 : 阅读 906 评论 0

摘要:本文主要向大家介VC编程之VC6.0 下MFC程序与MySql数据库连接的设置绍了,通过具体的内容向大家展示,希望对大家学习VC编程有所帮助。

本文主要向大家介VC编程之VC6.0 下MFC程序与MySql数据库连接的设置绍了,通过具体的内容向大家展示,希望对大家学习VC编程有所帮助。

VC编程之VC6.0 下MFC程序与MySql数据库连接的设置

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境
一、MySQL的安装
     可以考虑安装mysql-5.0.41-win32(可到//www.newhua,当然你有更新的版本更好,注意选择“完全安装”(只有这样才会安装VC编译时需要的头文件等)。安装后期会进行服务器配置,你可以设置你的服务器登陆密码,也可以不设置密码。
二、VC6.0的设置
   (1)打开VC6.0 工具栏Tools菜单下的Options选项,在Directories的标签页中右边的“Show directories for:”下拉列表中选中“Includefiles”,然后在中间列表框中添加你本地安装MySQL的include目录路径。(我的是D:/Program Files/MySQL/MySQL Server 5.0/include)。
   (2)在上面说到的“Show directories for:”下拉列表中选中“Library files”,然后添加你本地安装MySQL的Lib目录路径。Lib目录下还有debug和opt两个目录,建议选debug。(我的是D:/Program Files/MySQL/MySQL Server 5.0/lib/debug)。
   (3)在“Project settings->Link:Object/library modules”里面添加“libmysql.lib”。
   (4)在stdafx.h里面添加如下的内容:
#include "mysql.h"
#include "winsock.h"
#pragma comment(lib,"libmySQL.lib")(
   (5)建议将“libmySQL.lib、libmySQL.dll”拷到你所建的工程的目录下。
三、数据库、表的创建打开“开始->所有程序->MySQL->MySQL Server 5.0->MySQL Command Line Client.exe”,如果没有设置密码就直接按回车,会提示服务器启动成功。
mysql> SHOW DATABASES;//显示所有的数据库,注意一定要 敲“;”后再按回车
mysql> CREATE DATABASE mydb;//创建数据库
mysql> USE mydb;//选择你所创建的数据库mydb
mysql> SHOW TABLES; //显示数据库中的表
mysql> CREATE TABLE mytable (username VARCHAR(100), visitelist VARCHAR(200),remark VARCHAR(200));//创建一个表mytable: 用户名;访问列表;备注
mysql> DESCRIBE mytable;//显示表的结构四、VC编程
MYSQL mysql; //数据库连接句柄mysql_init (&mysql);
if(!mysql_real_connect(&mysql,"localhost","root",NULL,"mydb",3306,NULL,0))
{//mydb为你所创建的数据库,3306为端口号,可自行设定 
AfxMessageBox("数据库连接失败"); 
return FALSE;}
(1)实现添加 功能
CString strUsername,strList,strRemark,strSQL;
strSQL.Format("insert into mytable(username,visitelist,remark) values(/'%s/',/'%s/',/'%s/')", strUsername,strList,strRemark);//注意一定要写在一行,而且必须要有/'/'
if(mysql_real_query(&mysql,(char*)(LPCTSTR)strSQL,(UINT)strSQL.GetLength())!=0)
{ AfxMessageBox("增添失败"); }
(2)实现修改功能CString strUsername,strList,strRemark,strSQL,str_PreName;          //str_PreName用于记录想要修改的行,详情请看源代码
strSQL.Format("update mytable set username=/'%s/',visitelist=/'%s/',                           remark=/'%s/' where username=/'%s/'",strUsername,strList,strRemark,str_PreName);
if(mysql_real_query(&mysql,(char*)(LPCTSTR)strSQL,(UINT)strSQL.GetLength())!=0)
{ AfxMessageBox("修改失败"); }
(3)实现删除功能
CString strSQL;strSQL.Format("delete from mytable where username=/'%s/'",str_PreName);
//必须要有/'/'
if(mysql_real_query(&mysql,(char*)(LPCTSTR)strSQL,(UINT)strSQL.GetLength())!=0)
{ AfxMessageBox("删除失败"); }
(4)读取表格内容到CListCtrl控件m_listm_list.DeleteAllItems();
char *ch_query;
ch_query="select * from mytable";if(mysql_real_query(&mysql,ch_query,(UINT)strlen(ch_query))!=0)
{ AfxMessageBox("数据库中表格出错"); }
CString str;
MYSQL_RES *result;
MYSQL_ROW row;
if(!(result=mysql_use_result(&mysql)))
{ AfxMessageBox("读取数据集失败"); }
int i=0;
while(row=mysql_fetch_row(result)){
str.Format("%s",row[0]);
m_list.InsertItem(i,str);
str.Format("%s",row[1]);m_list.SetItemText(i,1,str);
str.Format("%s",row[2]);m_list.SetItemText(i,2,str);
i++;
}
mysql_free_result(result);
(5)关闭数据库mysql_close(&mysql);//最好写到OnDestroy()函数中
五、结束语
ps:本文在几位网友的工作基础上详细介绍了MySQL的安装、调试,以及如何用VC进行编译,实现数据的“添加、修改、删除”等功能,可以为在MySQL的VC编程中感到困惑的朋友们提供一点帮助
values()里面的符号应该为/'%s/',为单引号.    

以上就介绍了VC/MFC的学习,希望对VC/MFC有兴趣的朋友有所帮助。了解更多内容,请关注职坐标编程语言VC/MFC频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程