MFC与MySQL联合开发类应用(mfcmysql类)
MFC和MySQL是构建企业级应用必备的技术,MFC是微软发布的集合图形和文本的应用程序的开发框架,MySQL是开源的跨平台的关系型数据库管理系统。在做一个完整的企业级应用时,需要应用到MFC和MySQL的联合开发技术。
在Windows下,我们可以利用MFC让应用程序更加美观地介绍给用户,使用MFC可以从多方面让视图更加优美更强大,只要我们编写好响应函数就可以对用户操作进行处理,例如按钮点击事件,滚动条操作等。如果要实现真正的企业级应用,则还需要加入关系型数据库,而MySQL则恰好满足了这方面的需求,它的优势有很多:①SQL语言的标准;②免费开放源代码,跨平台;③支持存储过程;④易于系统优化,性能良好;⑤安全可信。
当前MFC和MySQL结合开发数据应用,我们可以使用两者之间的扩展技术,如利用ODBC技术让MFC和MySQL连接,XML技术等,下面的代码就是使用ODBC技术把MFC和MySQL连接起来的例子:
“`C++
#include
#include
#include
#include
#include
…
//定义相关数据库变量
SQLHENV hEnv; //环境句柄
SQLHDBC hDbc; //连接句柄
SQLHSTMT hStmt; //语句句柄
SQLRETURN retcode;//语句执行返回结果
…
//提供连接字符串
lpszConnectStr=”DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;”
“DATABASE=mfc;UID=mfc;PWD=mfc;”;
//设置连接句柄
retcode = SQLAllocHandle(SQL_HANDLE_ENV, NULL, &hEnv);
retcode = SQLSetEnvAttr(hEnv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
retcode = SQLAllocHandle(SQL_HANDLE_DBC, hEnv, &hDbc);
//建立连接
retcode = SQLDriverConnect(hDbc, NULL,
(SQLCHAR*)lpszConnectStr,
SQL_NTS,
NULL, 0, NULL, SQL_DRIVER_NOPROMPT );
//创建语言句柄
retcode = SQLAllocHandle(SQL_HANDLE_STMT, hDbc, &hStmt);
…
//关闭MySQL连接,释放资源
retcode = SQLFreeHandle(SQL_HANDLE_STMT, hStmt);
SQLDisconnect(hDbc);
SQLFreeHandle(SQL_HANDLE_DBC, hDbc);
SQLFreeHandle(SQL_HANDLE_ENV, hEnv);
free(lpszConnectStr);
从上面的代码可以看出,联合MFC和MySQL开发的MFC程序中,需要先进行设置环境句柄、连接句柄,然后利用DriverConnect函数把程序和MySQL数据库连接,就可以实现MFC程序对数据库资源的访问。
借助MFC和MySQL的联合开发技术,我们就可以实现一个完整的企业级的运用,使得应用程序更加贴近用户,而且数据管理更加安全可信,在企业级应用中,MFC和MySQL的运用几乎是必不可少的。