mysql & vs2013

一 mysql 版本介绍

在mysql的官网http://dev.mysql.com/上,mysql 大致分为两个版本,即免费的社区版(community)和 付费的商业版(commercial)。其中商业版又可以细分,详细看官网介绍http://www.mysql.com/products/

community版下载地址:http://dev.mysql.com/downloads/mysql/

目前出到5.7。5.7和5.6如果下载都是整套的下载,里面包括了以下两个工具及mysql utilities。我下的是5.5,里面只有server。

下载的时候有msi和zip的下载,如果是windows系统就选择能够直接安装的msi啦。

格外注意的是,里面有32位和64位的版本。选择则版本其实不是看你的系统是多少位的,而是看你之后建立的程序是多少位的。比如 如果要和VS中著名的win 32程序联合编程的话,就选择32位的版本。

在community 和commercial 版本中又有很多其他的工具来辅助mysql应用,我直说我接触到的两个工具。

一个是 mysql for visual studio ,这个是辅助VS编程的,可以在VS里可视化的显示数据库和表。

下载地址:http://dev.mysql.com/downloads/windows/visualstudio/1.2.html

在vs2013中的设置如下(我也不明白是mysql for VS起的作用,还是vs2013中本来就有连接的功能)

还有一个是mysql workbench ,这个是可视化的mysql工具,须知mysql server和Microsoft SQL server 不一样,前者是命令行的形式。有了workbench,事情就好办多了。但是使用这个建立连接的时候要先下载好 mysql server,不然连接不上服务器,还建立什么数据库呢。

下载地址:http://dev.mysql.com/downloads/workbench/

二,mysql 与 vs2013的连接配置

和所有外加库一样,要想在vs中使用mysql无非是配置以下几个东西。

打开vs项目的属性,找到VC++目录选项卡:

1 在附加目录中编辑mysql include文件夹安装的路径 ,例如“C:\program files\..\..\include”

2 在库牡蛎中编辑 lib文件的路径。

找到 链接器-->输入-->附加依赖项里增加:libmysql.lib

在mysql安装文件中找到 libmysql.dll文件,放到vs项目的debug(release)文件夹内,看你用的是那种调试方式了。

如果这些都做完了还有问题,试试看在系统环境变量path中有没有mysql bin文件夹的路径,没有的话就加上去。

三,mysql 与 VS2013联合编程

首先要指出的官方的手册:http://dev.mysql.com/doc/

下面给出一个可以运行的对数据库进行读写的程序并附上结果

(里面涉及到数据库元素属性,并且是默认mysql中已有数据库表的情况,所以部分涉及mysql_query的语句看个人的数据库建立情况而定)

#include<Windows.h>
#include<string>
#include<iostream>
#include<mysql.h>
#include<stdio.h>
#include<io.h>

int main()
{
    //connectionparams
    char *host = "localhost";
    char *user = "root";
    char *pass = "***";//你的mysql服务器密码
    char *db = "***";  //使用的database数据库
    unsigned int port = 3306; //server port
    MYSQL *sock;
    MYSQL_RES *res;
    MYSQL_FIELD * fd;
    MYSQL_ROW row;
    char szSqlText[500] = "";
    int i;
    int tcreate = 0;
    sock = mysql_init(0);// return An initialized MYSQL* handle or null when there is no enough memory
    if (sock && mysql_real_connect(sock, host, user, pass, db, 0, NULL, 0))
    {
        std::cout << "connect mysql succeed!" << std::endl;
        mysql_set_character_set(sock,"utf8");
    //    mysql_query(sock, "set names gb2312");
        /* character-set-server/default-character-set:服务器字符集,默认情况下所采用的。
           character-set-database:数据库字符集。
           character-set-table:数据库表字符集。
           优先级依次增加。所以一般情况下只需要设置character-set-server,
           而在创建数据库和表时不特别指定字符集,这样统一采用character-set-server字符集。*/
        //mysql_query(sock, "SET NAMES GBK"); //设置编码格式,否则在cmd下无法显示中文
        //connectioncharacter set
        //waitfor possibility to check system/mysql mysqlets
        if (tcreate)
        {
            sprintf_s(szSqlText, 200, "create table id (ID varchar(10) not null primary key,cenroid float,width int(11)");  //构造SQL语句 新建一张表
            std::cout << "Create table id!" << std::endl;
            getchar();
            tcreate = 1;
            if (mysql_query(sock, szSqlText))//执行Dsql语句,并判断是否出错
            {
                std::cout << "can‘t create table,maybe the data property is wrong :  " << mysql_error(sock) << std::endl;
                // tcreate = 0;
                mysql_close(sock);
                return FALSE;

            }
        }
            sprintf_s(szSqlText, 200,//向mytable这个表插入数据 注意格式
                "insert into id1 values(‘sL‘,‘69‘,‘60‘)");
            std::cout << "Insert data to table!" << std::endl;
            getchar();
            if (mysql_query(sock, szSqlText))
            {
                std::cout << "Can‘t insert data to table" << mysql_error(sock) << std::endl;
                getchar();
                mysql_close(sock);
                return FALSE;
            }
            sprintf_s(szSqlText, 200, "select* from id1");
            std::cout << "select* from id1!" << std::endl;
            getchar();
            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 << " records found:" << 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" << std::endl;
                mysql_free_result(res); //释放结果资源
                getchar();
            }

        }
        else//连接数据库出错
        {
            std::cout << "cannot connect to the sock sever " << mysql_error(sock) << std::endl;
            getchar();
            mysql_close(sock);
            return FALSE;
        }
        mysql_close(sock);//断开连接
        //    system("pause");

        return TRUE;
    }

有一点没对齐。

ps:此文为作者个人理解摘抄,欢迎指正

时间: 2024-10-11 03:15:14

mysql & vs2013的相关文章

Mysql++ VS2013环境配置

最近在研究Mysql++操作Mysql数据库.用vs2013:本来以为很简单,但真正使用起来真是各种坑,各种编译 连接 错误, 搞的偶焦头烂额. 搞了一下午 终于能通过编译了.本篇博客总结下各种问题的注意事项,好让使用Mysql++的新同学以后少走弯路. 一.首先是下载mysql++:这个就不多说了.下载完成后里面有各种文件,我们需要的就是lib文件夹里的文件. 二.将lib文件夹复制到工程目录中,将所有文件添加进工程. 三.(注意)在common.h 开始 添加头文件 #include <Wi

MySql VS2013 EF6链接

C:\Windows\assembly 下的MySql.Data版本为6.9.3.0Install-Package EntityFrameworkInstall-Package MySql.Data.Entity -Version 6.9.3 <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Ent

VS2013 连接 MySQL

1.安装必须的工具: mysql-connector-net-6.8.3 mysql-installer-community-5.6.16.0.msi mysql-for-visualstudio-1.1.4.msi MYSQL 入门书籍深入浅出MySQL全文.pdf http://pan.baidu.com/s/1nt6wzQ5 网盘资源地址 2.Nuget 程序包管理器中添加引用: Install-Package EntityFramework Install-Package MySql.D

VS2013连接Mysql数据库的设置以及常见问题

前两天用VS2013连接Mysql遇到了很多问题,上网搜了很多发现好多讲的并不清楚,于是乎我就想把我遇到的问题总结下来,帮助后来人少走点弯路. 步骤: 1:首先需要注意的是 Mysql版本是32位还是64位,如果是64位请将VS2013设置为 x64,具体设置为:右键项目->属性->在右上角有 “配置管理器” ->点击 修改为 x64 这么做的原因是接下来会用到 mysql 中有 libmysql.dll,而如果是64位的mysql,则该dll文件是64位的,正常的VS是用win32生成

VS2013 EF6 MySQL(您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库) 之说明

关于VS2013 链接MySQL EF6 网上很多说法大体一致,但具体过程中,可能有些问题 综合纵说纷纭,提炼一下几点: 1. 安装 mysql-for-visualstudio-1.2.3.msi (必须) 2. 安装 mysql-connector-net-6.9.4.msi (必须) 3. 使用Nuget Packages 程序包管理器 安装EF 安装命令(Install-Package EntityFramework),注意:哪个项目安装,安装完成后会自动在项目下添加app.config

VS2013 Qt5 Mysql中文编码问题

Qt开始默认是utf-8,而VS2013默认程序编码为gb2312: 这样就会发现使用中文的时候乱码. 一般有二种解决方案: 1.在使用中文的时候,使用QTextCodec QTextCodec *gbk=QTextCodec::codecForName("gb2312"); QString str=gbk->toUnicode("中文"); 这样使用起来的比较繁琐,推荐使用第二种 2.改"Microsoft Visual Studio 12.0\V

VS2013与MySql建立连接;您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库 EF6使用Mysql的技巧

因为之前都是看别人的项目,而没有自己从头到尾建立一个项目,所以这次尝试搭建时就出现了问题,主要是ASP.Net MVC项目中VS2013和MySql的连接. 第一个问题: 数据库表已建好,相应的数据库处理类已写好,然后在创建实体模型(右键Model->新建项->数据->ADO.NET实体数据模型)时没有MySQl选项,在网上搜了一圈,需要下载 mysql-for-visualstudio,网上搜的时候大家都建议下载mysql-for-visualstudio1.1.1,可是我在官网上没有

VS2013+EF6.1+Mysql配置心路历程

为了学习ORM,选择了EntityFramework,经历了三天两夜的煎熬,N多次错误,在群里高手的帮助下,终于成功,现在将我的心路历程记录下来,一是让自己有个记录,另外就是让其它人少走些弯路. 我的开发环境是Win8+VS2013,数据库环境是MySQL(WampServer) 1.下载MySQL Connector/Net 6.8.3 地址:http://dev.mysql.com/downloads/connector/net/ 还需要下载一个MySQL  for VisualStudio

c++连接mysql数据库(使用mysql api方式,环境VS2013+MYSQL5.6)

转载请注明出处,原文地址http://www.cnblogs.com/zenki-kong/p/4382657.html 刚开始写博客,博主还只是个大三汪,学艺不精,如有错误还请前辈指出(>^ω^<),废话不多说啦,进入正文 下一篇博客应该会讲使用mysql connector c++来让c++连接mysql,本篇是直接使用mysql api 首先交代一下开发环境,64位mysql5.6.23+VS2013+WIN7旗舰版 一开始用mysql5.7.6提示缺少binary_log_types.