c++(或MFC)使用mysql数据库具体该掌握哪些东西,具体怎么弄

c++(或MFC)使用mysql数据库具体该掌握哪些东西,具体怎么弄,第1张

首先,应该熟悉基本的sql语句,至少包括数据库的创建,建表以及表的增、删、改、查。这是 *** 作所有数据库的根本。

然后,因为具体的数据库有其自身的特性,你使用的是MySQL,那么你需要了解MySQL里面那些相应 *** 作的具体语句。我的建议是,先安装好MySQL,在命令行登录连接数据库,然后在命令行中练习,直到对数据库的基本 *** 作(特别是表的增删改查)都很熟练。至于MySQL的可视化界面,那只是为了方便这些 *** 作的。如果你只是弄一个小程序,可以不用可视化界面。

之后,应该学习如何在程序中 *** 作数据库。这个我想和MFC还是C++没有太大的关系。程序中使用数据库大体上可以分为以下几步:

加载驱动

建立数据库的连接

通过上面的连接获取语句对象

通过语句对象执行具体的sql语句,获取并处理结果集

关闭连接

这每一步都有一些小的知识点,需要你自己去学习。比如加载驱动可能涉及驱动包,建立连接需要知道程序中连接MySQL的url写法以及用户名密码,获取语句对象分statement和preparestatement,执行sql语句分查询和更新两类,关闭连接要有先后等等。这些网上应该都能查到资料,而且 *** 作的步骤都是死的,所以只要会了还是不难。我的建议是,先自己写个小程序,然后实现在这个程序里面对数据库进行 *** 作,只要能够在这个程序里对数据库进行查询了,那么这个流程你也就熟悉了,那些复杂的 *** 作也就不难实现了。

另外,在程序中 *** 作数据库和在命令行中 *** 作数据库相差不大,所以练习好在命令行中使用数据库很重要。

用ADO连接SQL数据库

步骤如下:

1,在头文件"StdAfx.h"中导入#import "C:/Program Files/Common Files/System/ado/msado15.dll" no_namespace rename("EOF","rsEOF"),记住把这句话放到endif的后面,不然会报错,这样处理好之后,编译后又一个警告,可以忽略

2,在对话框的OnInitDialog()函数中写上"::CoInitialize(NULL)::AfxOleInit()” 在主程序的初始化函数中,它就可以写一次

3,在对话框类的头文件中,声明如下变量:_ConnectionPtr m_pConnection_RecordsetPtr pRst

连接数据库的代码如下:

try

{

hr=m_pConnection.CreateInstance("ADODB.Connection")

if(SUCCEEDED(hr))

{

hr=m_pConnection->Open("Provider=数据库的驱动器名称Integrated Security=SSPIPersist Security Info=FalseData Source=数据库服务器名Initial Catalog=连接的数据库名User ID=登陆数据库的名称Password=登陆数据库的密码","","",adModeUnknown)

}

}

catch(_com_error e)

{

AfxMessageBox(e.ErrorMessage())

}

”数据库的驱动器名称“在控制面板里,以大图标查看,可以看到一个"ODBC",双击打开,在”驱动程序“里面在最下面有两个”SQL Server"和“SQL Native Client"如果你是2000的SQL版本,就选”SQL Server"及“Provider=SQL Server"2005的"Provider=SQL Native Client"Data Source=? ,?的值可以是”localhost"也可以是你的数据库服务器的名称,连接数据库的时候可以看到,复制一下就可以了。

处理完之后就可以连接到你想要连接的数据库上了!你下次给点分把!!!

一、首先安装mysql:我这里用的版本是mysql-essential-5.1.45-win32.msi。安装时遇到一个小问题在这里说一下:首次安装到最后一步启动服务时卡住了,电脑死机,我强制退出,结果不能正常运行,然后卸载重装,由于第一次设置了密码,即使卸载了文件依然存在,所以第二次安装遇到设置密码时它出现要输入前一次设置的密码,在这里什么都不要输入,不然在最后一步会出错(我重装了好几次,才在baidu上查到是这个问题)。

2

二、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)在你要连接数据库的文件里加入#include "winsock.h"和#include "mysql.h"两个文件,这里要注意这两个头文件的顺序不要颠倒,否则会报错(这个问题害我baidu了一个上午)。

3

三、数据库、表的创建

打开“开始->所有程序->MySQL->MySQL Server 5.0->MySQL Command Line Client.exe”,如果没有设置密码就直接按回车,会提示服务器启动成功。

mysql>SHOW DATABASES//显示所有的数据库,注意一定要 敲“”后再按回车

mysql>CREATE DATABASE mydb//创建数据库mydb

mysql>USE mydb//选择你所创建的数据库mydb

mysql>SHOW TABLES//显示数据库中的表

mysql>CREATE TABLE mytable (username VARCHAR(50), password VARCHAR(200),)//创建一个表mytable: 用户名;密码

mysql>DESCRIBE mytable//显示表的结构

4

四、VC编程

MYSQL mysql//数据库连接句柄

mysql_init (&mysql)

if(!mysql_real_connect(&mysql,"localhost","root","dxd","mydb",3306,NULL,0))

{//mydb为你所创建的数据库,3306为端口号,可自行设定

AfxMessageBox("数据库连接失败")

return FALSE

}

5

五、通过上述设置、连接即可对数据库 *** 作了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10031994.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存