本文目录一览:
- 1、mfc 如何接收mysql数据库数据
- 2、c++(或MFC)使用mysql数据库具体该掌握哪些东西,具体怎么弄
- 3、MFC怎么连接MYSQL数据库?求详细。。
- 4、急求:关于MFC对MYSQL数据库的相关操作问题(软件:vs2010)??
mfc 如何接收mysql数据库数据
1、最简单的方式:
下载一个MYSQL ODBC驱动,并安装
2、设置一个MYSQL ODBC数据源
3、MFC中调用该数据源
4、具体进行数据库何种操作,随意
5、更多交流可参考我空间主页有关文章。
c++(或MFC)使用mysql数据库具体该掌握哪些东西,具体怎么弄
首先,应该熟悉基本的sql语句,至少包括数据库的创建,建表以及表的增、删、改、查。这是操作所有数据库的根本。
然后,因为具体的数据库有其自身的特性,你使用的是MySQL,那么你需要了解MySQL里面那些相应操作的具体语句。我的建议是,先安装好MySQL,在命令行登录连接数据库,然后在命令行中练习,直到对数据库的基本操作(特别是表的增删改查)都很熟练。至于MySQL的可视化界面,那只是为了方便这些操作的。如果你只是弄一个小程序,可以不用可视化界面。
之后,应该学习如何在程序中操作数据库。这个我想和MFC还是C++没有太大的关系。程序中使用数据库大体上可以分为以下几步:
加载驱动
建立数据库的连接
通过上面的连接获取语句对象
通过语句对象执行具体的sql语句,获取并处理结果集
关闭连接
这每一步都有一些小的知识点,需要你自己去学习。比如加载驱动可能涉及驱动包,建立连接需要知道程序中连接MySQL的url写法以及用户名密码,获取语句对象分statement和preparestatement,执行sql语句分查询和更新两类,关闭连接要有先后等等。这些网上应该都能查到资料,而且操作的步骤都是死的,所以只要会了还是不难。我的建议是,先自己写个小程序,然后实现在这个程序里面对数据库进行操作,只要能够在这个程序里对数据库进行查询了,那么这个流程你也就熟悉了,那些复杂的操作也就不难实现了。
另外,在程序中操作数据库和在命令行中操作数据库相差不大,所以练习好在命令行中使用数据库很重要。
MFC怎么连接MYSQL数据库?求详细。。
用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=SSPI;Persist Security Info=False;Data 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"也可以是你的数据库服务器的名称,连接数据库的时候可以看到,复制一下就可以了。
处理完之后就可以连接到你想要连接的数据库上了!你下次给点分把!!!
急求:关于MFC对MYSQL数据库的相关操作问题(软件:vs2010)??
应该是字符集的问题, 这个语句的字符集应该是 GB2312
连接的时候或者执行之前要先设置字符集,比如下边这句试一下:
mysql_query("set names gb2312");