zoukankan      html  css  js  c++  java
  • MFC通过ODBC连接mysql(使用VS2012编写MFC)

    原创文章,转载请注明原文:MFC通过ODBC连接mysql(使用VS2012编写MFC) By Lucio.Yang

    1.ODBC连接mysql

      首先ODBC是什么呢?

      开放数据库互连(Open Database Connectivity,ODBC)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。

      可以通过如下路径找到ODBC:控制面板->管理工具->数据源(ODBC)

      1.1 安装mysql-odbc driver

        这个driver将mysql数据库与ODBC连接在一起。可以在mysql官网下载,但是需要注册。尤其需要注意,如果使用的是vs2012及更低的vs版本,请下载32位的driver,否则VS将不能成功连接ODBC。原因是VS只有32位版本,原因参照-为什么VS2010没有64位版本

      1.2 ODBC连接mysql

        打开ODBC(ODBC分32位和64位)。

        

        在用户DSN中点击添加。

        

        选择mysql odbc unicode driver,完成,出现以下界面。

        

        在Data Source Name中为数据源命名;Deccription为描述,可不填;TCP/IP Sever 填写localhost;User填写mysql用户名,Password填写mysql密码。当以上均填写正确时,Database就可以有mysql数据库中的数据库供你选择了。而后点击Test,显示successful则成功。

        然后回到用户DSN界面可以看到自己的DSN了。

    2.MFC程序连接ODBC

        2.1 打开stdafx.h头文件,添加如下语句

          #include <odbcinst.h> 
          #include "afxdb.h"

          这两个头文件定义了之后要用到的数据库操作类。

        2.2 打开数据库

    CDatabase db;
    CString sentence;
    sentence.Format("ODBC;DSN=Sunny;UID=%s;PWD=%s",MyPublicData.login_name,MyPublicData.login_pass);
    db.Open(NULL,FALSE,FALSE,sentence);
    if(!db.IsOpen ())
        MessageBox();
     CRecordset rs( &db );
        rs.Open( CRecordset::forwardOnly, _T("SELECT * FROM login_info"));

      其中,format中的DSN、UID、PWD分别对应已建ODBC中的Data Source Name、User、Password。sql语句自行定制。

      以上代码仅为打开数据库的最简单操作。

      

     

  • 相关阅读:
    js字符串拼接 ·${}·
    [转]CRLF Injection
    域渗透-GPP(组策略)利用
    AS-REPRoasting
    域用户名枚举
    我理解的HTTP请求走私(HTTP Request Smuggling)
    NFS未授权访问
    Hessian反序列化RCE漏洞
    CVE-2020-15778 Openssh命令注入漏洞复现
    在非域内机器上运行harphound
  • 原文地址:https://www.cnblogs.com/lucio_yz/p/3710392.html
Copyright © 2011-2022 走看看