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环境下用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++用来写界面的库...
VS2010/MFC之按钮编程实例
使用MFC实现如下图的 网站选择并显示的功能 工具/原料 Win7x64 VisualStudio 2010 编辑界面 1 创建一个基于对话框的MFC工程,名称设为“Example23”。在自动生成的主对话框IDD_EXAMPLE23_DIALOG的模板中,删除“TODO:Place dia
MFC使用ADO连接MySQL的例子
MFC使用ADO连接MySQL的例子,实现登录注册,适用基础知识练习
MFC 使用VS 连接 MySQL数据库
mfc 使用 vs 连接MySQL数据库
【OpenCV学习笔记】【编程实例】一(VS2010/MFC+OPenCV2.4.7读取图片和摄像头)
问题:VS2010 / MFC + OpenCV 显示图片 链接:http://jingyan.baidu.com/article/f71d60375ddd411ab641d1e3.html 说明:可以了解一个基本的应用OpenCV的MFC程序的基本流程。(程序和视频) 问题:VS2010 / MFC + OpenCV 读取摄像头 链接:http://blog.csdn.net/w
vs2010连接mysql数据库(含win32和x64两种平台)
数据库安装: 此处有两种安装方式,第一种使用xxx.msi图形化安装方式,和普通的exe软件安装方式一样,按照默认选项一直下一步就可以。mysql下载地址为http://dev.mysql.com/downloads/windows/installer/ 第二种是在mysql官网下载zip压缩包,解压开了就是一个文件夹。zip包下载地址为:http://dev.mysql.com/do
VS2012 MFC以API方式连接mysql数据库
1、添加附加包含目录 在VS2012中,“项目”——“属性”——“配置属性”——“C/C++”——“常规”——“附加包含目录”,将mysql server\include的绝对路径添加进去,例如:C:\Program Files\MySQL\MySQL Server 5.6\include。 也可以将include文件整个拷贝到工程目录下,然后在VS2012目录里面设置相对路径,例如:$(Pr...
编写parallel for循环VS2010 ppl
如何:编写 parallel_for 循环 Visual Studio 2010 其他版本 此主题尚未评级 - 评价此主题 本示例演示如何使用 Concurrency::parallel_for 计算两个矩阵的乘积。 示例 下面的示例演示 matrix_multipl
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 + OpenGL 及 第一个实例
1.OpenGL开发环境简介 基于OpenGL标准开发的应用程序运行时需有动态链接库OpenGL32.DLL、Glu32.DLL,这两个文件在安装Windows NT时已自动装载到C:\WINDOWS\SYSTEM32目录下(这里假定用户将Windows NT安装在C盘上)。OpenGL的图形库函数封装在动态链接库OpenGL32.DLL中,开发基于OpenGL的应用程序,必须先了解OpenGL
VS2010之MFC入门到精通教程(1-55全部)
本节旨在让大家对VC++、VS2010和MFC有基本的概念上的认识,后面鸡啄米会带大家进入VS2010/MFC的世界,让大家轻松的开发各种包含窗口、图形等的可视化程序
VS2010 c++生成和调用dll例子
参考 http://blog.csdn.net/big_wang5/article/details/8216557 c++新手 一、DLL简介 包含能被可执行程序或其他DLL调用的函数。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个 DLL 中,该 DLL 包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。 若
MFC连接MYSQL数据库源码
简单的MFC连接MYSQL数据库,简单的图书查询功能MFC连接MYSQL数据库,简单的图书查询功能
VS2010下建立MFC程序
孙鑫的MFC教学视频非常不错,但是由于视频中孙鑫老师采用VC6.0版本,而现在 许多人都转向了使用VS,VS为我们生成了许多不需要的代码,这也导致在这节课的学习编程中总是遇到一些困难。那么,如何去掉这个代码来帮助我们顺利的完成课程的学习呢? (1)首先“文件”——“新建”——“MFC”应用程序,为程序起一个“响亮”的名字,单击确定。 (2)紧接着弹出MFC应用程序向导,单击下一步。 (3
VS2010-MFC VS2010的MFC例子代码
VS2010-MFC VS2010的MFC例子代码
vs2010最简单的MFC窗口程序
在Visual Studio中创建一个新的空Win32工程,配置属性--常规---在静态库中使用 MFC 内容如下: 1.h #ifndef MFCTEST_HEAD #define MFCTEST_HEAD #pragma once #include #include #define IDC_START 1012 //按钮定义 class CMyApp
MFC 数据库编程 增删改查的一个例子
source: http://www.cnblogs.com/jiangu66/p/3215077.html   1.先看下效果图: 主界面: 一个最简单的1对多的表,一张Article(文章)表,一张Category(类别)表。有添加,修改,删除文章按钮。点击类别编辑按钮就会跳到第二个对话框。点击数据库配置就会跳到第三个对话框。 类别编辑的对话框,类别做
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 C++开发初学者开发实例(源码)
附上一个网址希望对初学者有帮助。 http://blog.csdn.net/gupengnina/article/details/7441203 重点是如何利用vs2010进行C++开发,里面是一个转码的实例。
VS2010连接MySQL数据库的平台搭建(C/C++)
这篇主要介绍在VS下操作MySQL数据库的平台搭建: 开发语言为C/C++,开发平台为VS2010。 (就光能通过编译运行就用了我很多时间) MySQL官方了提供C的API,用C/C++语言编程方式在C/S架构下在客户端连接到MySQL数据库。 据说这个是直接通过调用API函数,里面会自动连接到目标服务器,而省去了socket等的网络连接过程 参考资料:http://dev.mysql.
数据库操作:MYSQL与MFC连接(二)
继上一片博客,这篇介绍数据库与MFC的连接,上篇是介绍用控制台连接MYSQL,其实MFC为代码增加一个界面,和一些消息相应(个人认为) 首先建一个MFC的工程,我这边建了一个Dlg 建好后看一下选项-> 目录->包含目录和库目录中是否包含了MYSQL的路径 再在Dlg.cpp中添加: #include”winsock.h” #include“mysql.h” #pragma
MFC中SendMessage的实例测试
为了测试SendMessage的用法,于是在VS2010中新建了一个工程测试。 1.新建好MFC工程。 2.然后放上一个button。 3.在新建的头文件中 定义: (1)  #define WM_COMM_RXCHAR WM_USER+7 (2) protected: afx_msg void OnSysCommand(UINT nID, LPARAM lParam); (3
VS2013 MFC中操作MySQL数据库
由于项目需要,需要在MFC中操作服务器中的数据库(测试的代码是在先得到在对话框中所输入的帐号密码,然后从服务器上的数据库中查询是否有此用户以及密码是否正确)。在此先吐槽下微软的东西真难用,我在win32控制台应用程序中所写的操作代码可以很完美的运行。但是一放到MFC的项目中就各种报错。无奈之下查看了类似sql::SQLString等相关源代码,最终经过一个多小时搞定了。其实主要毛病就出在各种各样字
【VS2010学习笔记】【编程实例】 (在Visual Studio中使用C++创建和使用DLL)
什么是DLL(动态链接库)?     DLL是一个包含可由多个程序同时使用的代码和数据的库。例如:在Windows操作系统中,Comdlg32 DLL执行与对话框有关的常见函数。因此,每个程序都可以使用该DLL中包含的功能来实现“打开”对话框。这有助于促进代码重用和内存的有效使用。这篇文章的目的就是让你一次性就能了解和掌握DLL。 为什么要使用DLL(动态链接库)?
MySQL案例(增删改查)
MYSQL查询案例 i:emp表 1)建表: CREATE TABLE emp ( empno int PRIMARY KEY, ename varchar(20) NOT NULL, job varchar(20) NOT NULL, mgr int DEFAULT NULL, hiredate date, sal decimal(20, 2), comm decimal(20, 2), d...
C#连接mysql实例(VS2010工程)
示例程序,可进行简单的查询、插入。 开发环境为VS2010,开发语言为C#。 部分文件来源于网上。
opengl在vs2010的mfc实现
opengl在vs2010的mfc实现.作为例子学习opengl在vs2010的mfc实现
基于vs 2010 mfc实现对excel数据的读取,操作及存储
基于vs2010 mfc实现对excel文件的打开,读取,操作(案例中把数据*2),最后存储
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
用vs2010编写基于MFC的串口通信程序
用vs2010编写的基于MFC的串口通信程序,内含详细讲解教程、MSComm控件以及调试成功的程序以供参考。
用MFC编写的对mysql数据库的操作
这是一个在visual studio2008环境用MFC语言对mysql数据库编写的一个简单的学生信息管理系统!如果你要用的话,你必须要安装了mysql,而且用户是root,密码是:123456,因为只供MFC和数据库初学者使用,本资源有可执行程序和全部代码!
VS2010 仪表盘程序
VS2010 仪表盘程序
vs2010中c++操作mysql需要的libmysql.dll和libmysql.lib等文件
在visual studio 2010中,使用c++操作mysql时需要的文件libmysql.lib,这里mysql版本是5.5的,构建过程可以到我的博客(helion.name)中查找
vs2010 MFC应用程序连接 Mysql 前期配置
MFC应用程序为Release版 1.拷贝libmysql.dll文件(在mysql安装路径lib\opt下)到项目的主目录,根目录里面的同名目录 2.添加两个目录路径,包含目录和库目录 3.声明一个MYSQL实体,在头文件中#include "mysql.h"    在构造函数的public处:MYSQL m_ssock; //数据库连接句柄 4.在cpp文件中添加
MFC单文档应用程序实例
MFC单文档应用程序实例
MySQL Connector C++库在VS2010平台连接访问远程MySQL数据库
近段时间由于需要利用C++访问MySQL数据库做调试分析,所以就是用了MySQL官网提供的MySQL Connector C++库来访问数据库,在这过程中遇到过一些问题,纠结了很久,所以想把这些记下来。 首先去MySQL官网下载了MySQL Connector/C++,下面是下载地址 http://downloads.mysql.com/archives/c-cpp/ 可以选择安装版
VC的虚拟列表控件的用法
实现了一个基于MFC的虚拟列表控件,选择目录路径后,显示目录里的所有文件,该控件采用回调方式获取每一行ListItem的数据,显示到哪一页就加载哪一页的数据。用虚拟列表控件显示效率很高,可显示上万条的记录。
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 vs2010网页制作视频 mfc游戏开发视频