VS2010下MFC 查询mysql的例子

请问谁能指导VS2010下MFC 查询mysql的例子?局域网http://192.168.1.223上通过 phpstudy建立一个mysql数据库,用户名root,密码note2016,端口3306,数据库名cxdayang,表名user,请问如何编写一个MFC的登录小程序(做为例子)。我百度了三天,按教程操作还是出错,由于C++仅学完基础语法,MFC仅入门,请有能力的帮忙做出这样的一个小例子供我参详好吗?本人WIN7 64位,VS2010

0

6个回答

 #include<Windows.h> 
#include<string> 
#include<iostream> 
#include<mysql.h> 
#include<stdio.h>
int main()
{
    //connectionparams 
    char *host = "192.168.1.223"; 
    char *user = "root"; 
    char *pass = "note2016"; 
    char *db = "cxdayang"; 
    unsignedint port = 3306; //server port 
    MYSQL *sock; 
    MYSQL_RES *res; 
    MYSQL_FIELD * fd; 
    MYSQL_ROW row; 
    char szSqlText[500]="";
    inti; 
    inttcreate=0;
    sock=mysql_init(0); 
    if(sock &&mysql_real_connect(sock,host,user,pass,db,0,NULL,0)) 
    { 
        std::cout<<"connect mysqlsucceed!"<<std::endl; 
       //mysql_set_character_set(sock,"utf8"); 
        mysql_query(sock, "set namesgb2312"); 
        //mysql_query(sock, "SET NAMESGBK"); //设置编码格式,否则在cmd下无法显示中文 
       //connectioncharacter set 
       //waitfor possibility to checksystem/mysqlmysqlets 
       if(tcreate) 
       { 
           sprintf(szSqlText,"create table datatable (id int(3) auto_increment not null primarykey,timedatetime,name char(10) not null,addressvarchar(20),year date,s1char(11) ,s2 int default '1') CHARACTER SET utf8");//构造SQL语句 新建一张表 
          std::cout<<"Create table tttable!"<<std::endl; 
           tcreate = 1; 
          if(mysql_query(sock,szSqlText))//执行Dsql语句,并判断是否出错 
           { 
             std::cout<<"can't createtable:"<<mysql_error(sock)<<std::endl; 
             //tcreate = 0; 
             mysql_close(sock); 
             return FALSE; 
           } 
       } 
       sprintf(szSqlText,//向mytable这个表插入数据 注意时间格式 
           "insert intodatatable values('1','2010-10-08', 'bj','深圳一中','2010-10-08','MySQLTest',20)"); 
       std::cout<<"Insert data totable!"<<std::endl; 
       if(mysql_query( sock, szSqlText)) 
       { 
          std::cout<<"Can'tinsert data to table"<<mysql_error(sock)<<std::endl; 
           mysql_close( sock); 
           return FALSE ; 
       }
      sprintf(szSqlText, "select* from datatable"); 
       std::cout<<"select* fromdatatable!"<<std::endl; 
       if(mysql_query( sock, szSqlText))//进行数据检索并检查有无错误 
       { 
           mysql_close( sock); 
           return FALSE ; 
       } 
       else 
       { 
          std::cout<<"mysql_store_result!"<<std::endl; 
           res=mysql_store_result( sock) ;//取得查询结果,保存查询到的数据到res 
           i = (int)mysql_num_rows(res ) ;//取得有效记录数 
          std::cout<<"Query:"<<szSqlText<<"\n"<<i<<" recordsfound:"<<std::endl; 
           for( i = 0 ; fd =mysql_fetch_field( res ); i++ )//获取列名 
             std::cout<<fd->name<<"\t"; 
          std::cout<<std::endl;//输出各字段名 
           while(row =mysql_fetch_row( res))//获取具体的数据,依次读取各条记录 
             std::cout<<row[0]<<"\t"<<row[1]<<"\t"<<row[2]<<"\t"<<row[3]<<"\t"<<row[4]<<std::endl; 
           mysql_free_result(res ); //释放结果资源 
       } 
    } 
    else//连接数据库出错 
    { 
       std::cout<<"cannot connect tothe sock sever "<<mysql_error(sock)<<std::endl; 
       mysql_close(sock); 
       return FALSE; 
    }
    mysql_close(sock);//断开连接 
    system("pause"); 
    return TRUE; 
}
2
2
A1200266
A1200266 谢谢,C#的已经会了,C++的现在也连上了。
3 年多之前 回复
0
A1200266
A1200266 能改写成MFC版吗?新手不会改
3 年多之前 回复
A1200266
A1200266 谢谢,我再参详一下
3 年多之前 回复
A1200266
A1200266 谢谢,我再参详一下
3 年多之前 回复

搞了个C的版本,后面再搞MFC界面

 #include <stdio.h>
#include <windows.h>
#include <mysql.h> 

#define TIP_ERROR_CONNECT   "Connection error #%d!\n"
#define TIP_CONNECT_OK      "Mysql %s has connected!\n"
#define TIP_TEST            "MySQL database testing...\n"

#define SQL_TEST    "SELECT ID,post_title FROM wp_posts;\n"

#define USER        "root"
#define PASSWORD    "pass"
#define HOST        "localhost"
#define PORT        3306
#define DATABASE    "hyc_hr"

void query(MYSQL db, char *sql){

    printf(TIP_TEST);
    printf("SQL: %s", sql);

    MYSQL_RES *rs;
    MYSQL_ROW row;
    unsigned long *len;
    unsigned long fc, rc;

    if(0!=mysql_query(&db,sql)){
        printf("ERR %s\n", mysql_error(&db));
        return;
    }
    //rs = mysql_use_result(&db);
    rs = mysql_store_result(&db);
    if(NULL==rs){
        printf("ERR mysql_use_result #%d %s", mysql_errno(&db),mysql_error(&db));
        len = int(0);
    }
    fc = mysql_field_count(&db);
    rc = mysql_num_rows(rs);
    len = mysql_fetch_lengths(rs);
    if(NULL==len){
        printf("ERR mysql_fetch_lengths #%d %s", mysql_errno(&db),mysql_error(&db));
        len = new unsigned long(0);
    }
    printf("%d data rows, %d field count, %d fetch lengths.", rc, fc, *len);

    while ((row = mysql_fetch_row(rs)) != NULL)
       printf("%s\t%s\n", row[0],row[1]);
    mysql_free_result(rs); /* NEVER forget this free */

}

int main()
{

    MYSQL db;
    mysql_init(&db);
    if(mysql_real_connect(&db,HOST,USER,PASSWORD,DATABASE,PORT,NULL,0)){
        printf(TIP_CONNECT_OK, mysql_get_server_info(&db));
        query(db,SQL_TEST);
    }else{
        printf(TIP_ERROR_CONNECT, mysql_errno(&db));
        fprintf(stderr, "ERR: %s\n", mysql_error(&db));
    }

    mysql_close(&db);

    return 0;
}
0

完整代码参考《MySQL开发C版》
/*

0
A1200266
A1200266 谢谢指导!
3 年多之前 回复
0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
VS2010 MFC +mySQL 连接,添加,查询,删除
1.mySQL安装 直接放安装教程:链接 2.工具:Navicat for MySQL 链接: https://pan.baidu.com/s/11ClSdrsDQtWQ2HNCFzd8tQ 提取码: 7avh 安装步骤以及破解: 安装直接点下一步就可以.... 破解:点击破解软件选择,下图箭头指示就可以破解完成.... 3.表格建立 打开连接--&gt;新建...
VS2010环境下用c++语言在MFC对话框程序中连接及操作Mysql 数据库
在 vs2010 环境下, 在C++语言写的MFC对话框程序中连接并操作 MySql 数据库,实现向数据库上传数据,以及从数据库查询数据并且简单的显示出来。
VS2010环境下用MFC连接Mysql数据库
在vs2010编程环境下,使用MFC连接并操作MySQL数据库,实现数据的插入和查找,并显示所查询到的数据。
MFC 使用sqlite3 例子
这里是一个vs2010编写的mfc对话框小例子,里面包含了sqlite的增、删、改、查,其中‘查询’包括了利用回调函数查询以及同步查询
安装完VS2010后,如何查看MFC源码!
    当我们安装完Microsoft Visual Studio 2010后,想利用MFC来开发应用程序时,有时候对于MFC的原理想深入理解,写出漂亮的界面时,这时我们需要摸索MFC源码,探其原理,方能很快开发。 1、在VS2010的安装目录下,找到VC目录: 2、进入VC目录后,找到 atlmfc 文件夹,选择进入: 此刻就可以看到MFC的源码了,MFC是C++用来写界面的库...
MFC使用ADO连接MySQL的例子
MFC使用ADO连接MySQL的例子,实现登录注册,适用基础知识练习
MFC连接MySQL数据库实例
关于项目配置请参考这篇文章 http://blog.csdn.net/qq_18297675/article/details/52239881关于乱码问题请参考这篇文章 http://blog.csdn.net/qq_18297675/article/details/52240029需要注意的是,在MFC中有些函数的参数类型是LPCTSTR的,这样就算数据库返回的数据不乱码,你把它强制转换后还是
VS2012 MFC以API方式连接mysql数据库
1、添加附加包含目录 在VS2012中,“项目”——“属性”——“配置属性”——“C/C++”——“常规”——“附加包含目录”,将mysql server\include的绝对路径添加进去,例如:C:\Program Files\MySQL\MySQL Server 5.6\include。 也可以将include文件整个拷贝到工程目录下,然后在VS2012目录里面设置相对路径,例如:$(Pr...
SQlite3库及头文件在VS2010中MFC使用成功附详细使用方法
SQlite3库及头文件里面包含了详细的使用方法: 1、如何把SQlite3添加到工程 2、将Sqlite数据库文件放到工程哪级目录 3、如何添加头文件和库文件到工程 4、如何包含SQlite3头文件进工程 5、测试工程打开sqlite数据库是否成功 【测试代码】 int rc; rc = sqlite3_open("testdb.db", &m_sqlitedb);// 打开数据库,不存在时创建 if (rc) { sqlite3_close(m_sqlitedb); //打开失败! return ; } else { AfxMessageBox(_T("数据库打开成功!")); }
VS2010 c++生成和调用dll例子
参考 http://blog.csdn.net/big_wang5/article/details/8216557 c++新手 一、DLL简介 包含能被可执行程序或其他DLL调用的函数。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个 DLL 中,该 DLL 包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。 若
MFC使用ado链接数据库,及数据库操作
首先在StdAfx.cpp中添加_ConnectionPtr m_pConnection; _CommandPtr m_pCommand; _RecordsetPtr m_pRecordset;然后在StdAfx.h中的#endif下面添加#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace renam
VS2010-MFC VS2010的MFC例子代码
VS2010-MFC VS2010的MFC例子代码
VS2010之MFC入门到精通教程(1-55全部)
本节旨在让大家对VC++、VS2010和MFC有基本的概念上的认识,后面鸡啄米会带大家进入VS2010/MFC的世界,让大家轻松的开发各种包含窗口、图形等的可视化程序
VS2010 MFC中对Access数据库基本操作
添加ADO类,项目->添加类(添加是C++类,不是基于MFC类),名字叫ADOConn; 在stdafx.h中添加: #import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF") 在ADOConn.h文件中添加变量 _RecordsetPtr    m
MFC DLL静态及动态调用简例
MFC DLL静态及动态调用简例。 附件中共3个工程,分别为: DLL工程, 静态调用DLL工程,动态调用DLL工程。 分别以1个简单的例子来说明DLL工程的编写,以及如何静态调用,动态调用DLL。
VS 2010 C++ 用ODBC方式读取数据库
环境:VS2010 C++ 用ODBC方式连接数据库,方法简单适合入门学习 数据库用的ACCESS
数据库操作:MYSQL与MFC连接(二)
继上一片博客,这篇介绍数据库与MFC的连接,上篇是介绍用控制台连接MYSQL,其实MFC为代码增加一个界面,和一些消息相应(个人认为) 首先建一个MFC的工程,我这边建了一个Dlg 建好后看一下选项-&gt; 目录-&gt;包含目录和库目录中是否包含了MYSQL的路径 再在Dlg.cpp中添加: #include”winso...
opengl在vs2010的mfc实现
opengl在vs2010的mfc实现.作为例子学习opengl在vs2010的mfc实现
VS2010编写的MFC串口程序
刚刚学习MFC串口通讯,调试了一个串口通讯的程序,实现PC机与单片机的串口通讯,能够正常地收发数据。部分源代码如下: // 打开串口函数 void CcommtestDlg::OnBnClickedButtonOpen() { // TODO: 在此添加控件通知处理程序代码 CString str1; m_comb2.GetLBText(m_comb2.GetCurSel(),str1);
基于VS2010的MFC多线程编程(指针、句柄、整形变量等参数传递 )
1)在VS开发环境,基于MFC创建一个名为ThreadProcess的工程,自动生成窗口类CThreadProcessDlg,一个ThreadProcessDlg.cpp和ThreadProcessDlg.h文件 2)在工具栏拉出一个Progress Control控件,默认ID:IDC_PROGRESS1,添加控件变量,设置其变量名为m_speed, 在该窗口类的头文件中的public中自动
用MFC编写的对mysql数据库的操作
这是一个在visual studio2008环境用MFC语言对mysql数据库编写的一个简单的学生信息管理系统!如果你要用的话,你必须要安装了mysql,而且用户是root,密码是:123456,因为只供MFC和数据库初学者使用,本资源有可执行程序和全部代码!
vs2010中c++操作mysql需要的libmysql.dll和libmysql.lib等文件
在visual studio 2010中,使用c++操作mysql时需要的文件libmysql.lib,这里mysql版本是5.5的,构建过程可以到我的博客(helion.name)中查找
VS MFC 最小化到托盘
最近做MFC程序,有个最小化托盘的需求,看代码: 添加宏定义: #define WM_SHOWTASK (WM_USER +1) #define IDR_SHOW 11 #define IDR_OTHER 12 #define IDR_EXIT 13 .h 中添加几个函数及参数(参数用来保存状态): void Hide2Tray();//最小化到托盘 void Remove2Tray(...
C#连接mysql实例(VS2010工程)
示例程序,可进行简单的查询、插入。 开发环境为VS2010,开发语言为C#。 部分文件来源于网上。
基于vs 2010 mfc实现对excel数据的读取,操作及存储
基于vs2010 mfc实现对excel文件的打开,读取,操作(案例中把数据*2),最后存储
mfc c++ 多线程AfxBeginThread 例子( 一)
AfxBeginThread 为用户界面线程,该函数的原型为:CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc, //线程函数地址,即线程函数的入口 LPVOID pParam,
VS2010 MFC窗口分割
很好的例子说明VS2010 MFC下的窗口分割
c++阻止屏幕保护例子
vs2010 做的简单例子:mfc下阻止屏幕保护例子!
VS2010 MFC 个人信息管理系统
用于大学毕业设计或者实践科目的程序,采用vs2010 MFC+Access数据库编写,代码内容适合学习!
vs2012利用MFC开发基于对话框的小软件指南(连接Mysql数据库)
最近用MFC写了一个基于对话框的小软件,并且实现了和mysql数据库的交互。从一点不懂到写出来,费了不少周折,百度谷歌了很多资料,特写本篇博文,希望对同样在设计含界面的小软件并在学习MFC的朋友提供一定的帮助,你不是一个人。 开发环境:vs2012 mysql5.1 win10x64位操作系统 关于vs2012和mysql数据库的链接请看我的这篇博文 http://blog.csdn.net
VS2010 MFC读取Excel文件中数据
前段时间写个工具需要从Excel文件中读取数据,Excel表格数据列数为确定值,行数不确定,从网上搜了些方法尝试,最终达到目的,总结如下:
VS2010中,使用MySQL在GridView上显示数据
1.安装MySQL驱动 这步很简单,从网上下载一个MySQL Connector的包,解压一个MySql.Data.dll的DLL文件,放到工程的根目录下。 然后,在工程目录-右键-添加引用-浏览-选择MySql.Data.dll即可。 2.连接MySQL数据库,并显示数据在GridView控件上 2.1 新建一个页面,引入一个GridView插件,修改ID名为“GV_test”。
VS2010 C++开发初学者开发实例(源码)
附上一个网址希望对初学者有帮助。 http://blog.csdn.net/gupengnina/article/details/7441203 重点是如何利用vs2010进行C++开发,里面是一个转码的实例。
VC++ MFC MSCOMM VS2010 手把手学会串口收发 含例程
老习惯,例程链接放在评论一楼。     大部分情况下(毕设,实验室常用设备或传感器的上位机编程,工厂打码机/喷码机上位机编程,自己学习做串口助手的demo,等等90%情况),用到的都是占用一个端口的异步通讯。而这类工作用MSCOMM控件可以很方便的实现,并且在VS下面可以自己做一些定制的工作。     而不少做这类工程的,都不是计算机科班,所以有一份好的教程和跑得通,并且逻辑清楚的完整源码,可
MFC单文档应用程序实例
MFC单文档应用程序实例
vs2010下操作mysql,例子 学生管理系统
操作界面很简单,仅供初学者学习,第一次做,做的不好请大家见谅。
VS2010使用MFC创建绿色软件及单文档和多文档及一个解决方案包含多个项目的解决方法
所谓创建绿色软件就是直接拷一个EXE就是运行,而不用安装。具体怎么操作呢? 在创建MFC程序时,按照如下勾选 它的意思就是把需要的东西都添加进来,而不要选择共享的东西,这个一个EXE就可以直接运行了。 但是需要注意,一般我们都选择共享的选项,这样创建的东西比较小。
使用VS2010建立一个简单的DLL(动态链接库)实例
动态链接库(Dynamic Link Library 或者 Dynamic-link Library,缩写为 DLL),是微软公司在微软Windows操作系统中,实现共享函数库概念的一种方式。 以上是百度百科对DLL的释义,对DLL的科普到此结束,下面开始利用VS2010建立应用一个简单的DLL实例 环境准备:VS2010 本篇目的:旨在弄清如何用显示和隐式方法建立一个DLL程序 进入实践工作
Mysql数据库语句、增删该查总结及MFC对MySQL数据库连接
该资源中总结了对MySQL数据库的所有操作语句并附上了在MFC中如何连接数据库的例子,以txt文本形式给出。
MFC中定时器使用实例
1)新建一个基于对话框的应用程序SingleThread; 2) 在主对话框上添加一个Button和两个edit控件,将其ID分别改为IDC_BTN_START,IDC_TIME,IDC_YMD 3).h中添加: afx_msg void OnTimer(UINT_PTR nIDEvent); 4)cpp中添加: BEGIN_MESSAGE_MAP(CtesttimerDlg, CD