1.下载
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的和布克赛尔蒙古网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
mysql++-3.1.0.tar.gz,解压,如:c:\mysql++-3.1.0
2、mysql++-3.1.0
目录下进入相应
Visual
Studio
版本(VS2003,VS2005,VS2008。VS2010可以使用VS2008),打开解决方案,这里以VS2008为例。
3、把mysql++设为启动项目,生成时可能会报错:错误为“无法打开libmysql.lib”
4、在mysql安装目录下找到libmysql.lib,复制到
C:\Program
Files\Microsoft
Visual
Studio
9.0\VC\lib
(这里以VS2008为例),再次生成成功。
5、设置
resetdb
为启动项,如果生成成功,则说明OK。
6、把
c:\mysql++-3.1.0\vc2008\Debug
目录下的
mysqlpp_d.dll、mysqlpp_d.lib、libmysql.dll、libmysql.lib
四个文件和
c:\mysql++-3.1.0\lib目录
拷贝到放置到新项目的根目录下。
7、右键新项目的属性——配置属性——链接器——输入——附加依赖项——添加
mysqlpp_d.lib
libmysql.lib
8、测试代码:
#include
iostream
#include
string
#include
cstdlib
#include
"mysql++.h"
using
namespace
std;
int
main()
{
mysqlpp::Connection
con(false);
con.set_option(new
mysqlpp::SetCharsetNameOption("gbk"));
cout
"请输入数据库(root用户)连接密码:";
string
pwd;
getline(cin,
pwd);
if
(!con.connect("tot",
"localhost",
"root",
pwd.c_str()))
{
cout
"无法连接,请检查密码是否正确!"
endl;
return
-1;
}
通过MySQL自定义的API函数进行连接
1、使用API的方式连接,需要加载mysql的头文件和lib文件。
在VS2010的附加包含目录中添加\MySQL\MySQL Server 5.1\include。在安装MySql的目录下找。 把libmysql.dll和libmysql.lib文件拷贝到所建的工程目录下。然后在头文件里包含以下内容:
//mysql所需的头文件和库文件
#include "winsock.h"
#include "mysql.h"
#pragma comment(lib,"libmySQL.lib")
2、进行编码
(1)连接mysql数据库
头文件里定义数据源指针 MYSQL m_sqlCon;
//连接MySql数据库
try
{
mysql_init(m_sqlCon);
// localhost:服务器 root为账号密码 test为数据库名 3306为端口
if(!mysql_real_connect(m_sqlCon, "localhost","root","root","test",3306,NULL,0))
{
AfxMessageBox(_T("数据库连接失败!"));
return FALSE;
}
return TRUE;
}
catch (...)
{
return FALSE;
}
(2)关闭数据库
mysql_close(m_sqlCon);
(3)创建表
char* pQuery = "create table if not exists DS_Building( ID VARCHAR(10),Name VARCHAR(255),Descs VARCHAR(255),PRIMARY KEY (ID))"
if(mysql_real_query(m_sqlCon,pQuery,(UINT)strlen(pQuery))!=0)
{
const char* pCh = mysql_error(m_sqlCon);
return FALSE;
}
附MySQL的API接口:
mysql_affected_rows() 返回被最新的UPDATE, DELETE或INSERT查询影响的行数。
mysql_close() 关闭一个服务器连接。
mysql_connect() 连接一个MySQL服务器。该函数不推荐;使用mysql_real_connect()代替。
mysql_change_user() 改变在一个打开的连接上的用户和数据库。
mysql_create_db() 创建一个数据库。该函数不推荐;而使用SQL命令CREATE DATABASE。
mysql_data_seek() 在一个查询结果集合中搜寻一任意行。
mysql_debug() 用给定字符串做一个DBUG_PUSH。
mysql_drop_db() 抛弃一个数据库。该函数不推荐;而使用SQL命令DROP DATABASE。
mysql_dump_debug_info() 让服务器将调试信息写入日志文件。
mysql_eof() 确定是否已经读到一个结果集合的最后一行。这功能被反对; mysql_errno()或mysql_error()可以相反被使用。
mysql_errno() 返回最近被调用的MySQL函数的出错编号。
mysql_error() 返回最近被调用的MySQL函数的出错消息。
mysql_escape_string() 用在SQL语句中的字符串的转义特殊字符。
mysql_fetch_field() 返回下一个表字段的类型。
mysql_fetch_field_direct () 返回一个表字段的类型,给出一个字段编号。
mysql_fetch_fields() 返回一个所有字段结构的数组。
mysql_fetch_lengths() 返回当前行中所有列的长度。
mysql_fetch_row() 从结果集合中取得下一行。
mysql_field_seek() 把列光标放在一个指定的列上。
mysql_field_count() 返回最近查询的结果列的数量。
mysql_field_tell() 返回用于最后一个mysql_fetch_field()的字段光标的位置。
mysql_free_result() 释放一个结果集合使用的内存。
mysql_get_client_info() 返回客户版本信息。
mysql_get_host_info() 返回一个描述连接的字符串。
mysql_get_proto_info() 返回连接使用的协议版本。
mysql_get_server_info() 返回服务器版本号。
mysql_info() 返回关于最近执行得查询的信息。
mysql_init() 获得或初始化一个MYSQL结构。
mysql_insert_id() 返回有前一个查询为一个AUTO_INCREMENT列生成的ID。
mysql_kill() 杀死一个给定的线程。
mysql_list_dbs() 返回匹配一个简单的正则表达式的数据库名。
mysql_list_fields() 返回匹配一个简单的正则表达式的列名。
mysql_list_processes() 返回当前服务器线程的一张表。
mysql_list_tables() 返回匹配一个简单的正则表达式的表名。
mysql_num_fields() 返回一个结果集合重的列的数量。
mysql_num_rows() 返回一个结果集合中的行的数量。
mysql_options() 设置对mysql_connect()的连接选项。
mysql_ping() 检查对服务器的连接是否正在工作,必要时重新连接。
mysql_query() 执行指定为一个空结尾的字符串的SQL查询。
mysql_real_connect() 连接一个MySQL服务器。
mysql_real_query() 执行指定为带计数的字符串的SQL查询。
mysql_reload() 告诉服务器重装授权表。
mysql_row_seek() 搜索在结果集合中的行,使用从mysql_row_tell()返回的值。
mysql_row_tell() 返回行光标位置。
mysql_select_db() 连接一个数据库。
mysql_shutdown() 关掉数据库服务器。
mysql_stat() 返回作为字符串的服务器状态。
mysql_store_result() 检索一个完整的结果集合给客户。
mysql_thread_id() 返回当前线程的ID。
mysql_use_result() 初始化一个一行一行地结果集合的检索。
新建一个工程名叫mysql,编程环境选择c#,然后选择windows窗体应用程序,新建一个窗体用于显示查询到sql数据库的数据集
从工具箱向form1窗体上拖一个按钮和datagridview控件,按钮是触发连接数据库获取数据集,按钮的名称为显示,datagridview控件是用于显示数据集内容
单击解决方案资源管理器中的引用文件夹然后右键选择添加引用,选择浏览后打开mysql.data.dll,这是c#连接mysql数据库的动态库,里面封装了很多常用的操作数据库的方法
在解决方案资源管理器中的form1.cs的代码中加入using MySql.Data.MySqlClient;这就是代码中的实际引用mysql.data.dll中的内容,有了这个c#就能很方便地操作sql数据库
在按钮的单击事件中添加如下代码
string str = "Server=127.0.0.1;User ID=root;Password=123456;Database=test;CharSet=gbk;";
MySqlConnection con = new MySqlConnection(str);//实例化链接
con.Open();//开启连接
string strcmd = "select * from user";
MySqlCommand cmd = new MySqlCommand(strcmd, con);
MySqlDataAdapter ada = new MySqlDataAdapter(cmd);
DataSet ds = new DataSet();
ada.Fill(ds);//查询结果填充数据集
dataGridView1.DataSource = ds.Tables[0];
con.Close();//关闭连接
使用navicat软件在数据库test中新建表user,然后新建两个字段username和password(图中的栏位),navicat软件是mysql的图形化界面工具,负责新建表以及备份等数据库操作,直观地通过界面来操作
7
数据库建好后就可以执行工程了,单击显示按钮执行结果如下,出现username和password说明数据库连接成功,由于没有添加数据所以下面为空
首先你需要下个 mysql windows 版本的 因为要用到API
首先是vs下的mysql 库的问题
基本步骤
- 1: 在windows下下载的Mysql版本是32位还是64位
如果是64位将vs2013设置为 x64编译格式 :右键项目
-属性-配置管理器 设置成64位
- 2: 下载mysql并安装。
配置库过程:
项目-属性VS++目录-包含目录设置成mysql中的include 所在目录:C:\Program Files(x86)\MySQL\MySQL Server 5.5\include
VS++目录“-"库目录" 将其设置这MYSQL中的lib所在目录,例如我的是: C:\Program Files (x86)\MySQL\MySQL Server 5.5\lib2)
"C/C++"-”附加包含目录“ 将其设置为 MYSQL 中的include 所在目录,依旧是C:\ProgramFiles(x86)\MySQL\MySQL Server 5.5\include
链接器-常规-“附加库目录” 将其设置为 MYSQL中的inclde 所在目录,依旧是:C:\Program Files (x86)\MySQL\MySQL Server 5.5\include
链接器-常规-"输入" -附加依赖项-填入 - libmysql.lib (注意该文件在mysql 的include文件夹下,程序在链接时候调用该 库文件)
至此,vs2013下的设置完毕!
//头文件winsock 要在mysql前面
#includewinsock.h
#includemysql.h
//链编mysql库
#pragma comment(lib, "libmysql.lib");
后面就是直接使用mysql的 api了
//先创建一个mysql的句柄
//核心代码
MYSQL *conn_ptr;
conn_ptr = mysql_init(NULL);
if(!conn_ptr)
{
fprintf(stderr, "mysql_init failed/n");
return EXIT_FAILURE;
}
//NULL右边的参数是端口一般是 3306端口
conn_ptr = mysql_real_connect(conn_ptr, "localhost", "user",
"password", "newdatabase", 3306, NULL, 0);
if(conn_ptr)
{
printf("Connection success/n");
}
else
{
printf("Connection failed/n");
}
mysql_close(conn_ptr);
```
localhost 代表是目标主机ip 要连接目标主机, `首先要修改mysql主机的网络配置 屏蔽 127.0.0.1才
上面都是个人笔记 很详细了 忘采纳
vs2015连接mysql方法:
一.点开工具中的连接到数据库
二.复制sql数据库的服务器名到vs中
三.选择连接的数据库名称
四.选择高级属性最下面的一行全部复制 得到 Data Source = DESKTOP - DFOPNE4; Integrated Security = True
五.点开web.config,把复制到字符串的替换到ConnectionString的引号部位中
六.这时就有两种连接方式可以选择了
static string strcon = "server=DESKTOP-DFOPNE4;Integrated Security=SSPI;database=Library;";
SqlConnection con = new SqlConnection(strcon);