C连接MYSQL数据库的3种方法及示例
VS2019的C++项目连接MySQL的操作以及常见问题

VS2019的C++项⽬连接MySQL的操作以及常见问题连接数据库操作1,将数据库安装好并配置好环境。
2,在项⽬属性页将⾃⼰的平台设置为与数据库对应的平台,然后在“项⽬–>属性->C/C++–>常规–>附加包含⽬录”中添加MySql Server的include⽬录。
3,在“项⽬–>属性->链接器–>常规->附加库⽬录”中添加MySql Server的lib⽬录。
4,在“项⽬–>属性->链接器–>输⼊->附加依赖项“中添加libmysql.lib。
5,测试代码如下1 #include <iostream>2 #include<mysql.h>3 #include<windows.h>45using namespace std;6 MYSQL* conn;7int main()8 {9const char* user = "root";10const char* password = "123456";11 conn = mysql_init(NULL);12if (mysql_real_connect(conn, "127.0.0.1", user, password, NULL, 0, NULL, 0) == NULL)13 cout << "数据库连接失败" << endl;14else15 cout << "数据库连接成功" << endl;16return0;1718 }6,若出现正常运⾏,则证明配置成功,如下图所⽰。
常见问题及解决⽅法1,问题>MyProject3.obj : error LNK2019: ⽆法解析的外部符号 _mysql_init@4,函数 _main 中引⽤了该符号>MyProject3.obj : error LNK2019: ⽆法解析的外部符号 _mysql_real_connect@32,函数 _main 中引⽤了该符号>E:\MySQL\mysql-8.0.26-winx64\lib\libmysql.lib : warning LNK4272: 库计算机类型“x64”与⽬标计算机类型“x86”冲突>D:\ProgramData\source\repos\MySolution\Debug\MyProject3.exe : fatal error LNK1120: 2 个⽆法解析的外部命令解决办法:这是因为数据库为X86架构的64位扩展(x86_64),其本质为64位,⽽我们的调试的平台使⽤的为X86(32位),这就造成了不兼容的问题,当我们在项⽬属性页设置的时候就应该将调试的平台改为位数据库对应的平台。
VC6.0连接MySQL大数据库

电力学院嵌入式系统应用安全课程论文题目: VC6.0连接MySQL数据库姓名:学号: 201132班级: 2011班院系:计算机科学与技术学院专业年级:信息安全2011级2014年6月8日通过VC开发MySQL数据库应用软件有多种方式:一、通过MyODBC界面二、通过Connector/C++l界面三、通过MySQL C API界面四、第三方封装的MySQL类在经过反复比较,我还是选择了MySQL C API方式来进行MySQL的开发。
在VC中使用MySQL的步骤如下:一、MYSQL的准备工作1.下载MySQL的服务器/客户端安装包我的开发环境是Windows,所以我下载的是MySQL for Windows mysql-5.6.19-win322.安装MySQL服务器/客户端包Cmd下进入mysql-5.6.19-win32 安装目录,我的安装目录是D:\mysql-5.6.19-win32\bin界面输入安装语句 sqld-unstall。
成功安装MYSQL3.运行MYSQL ,建立测试数据库及表启动MYSQL语句创建数据库语句创建表语句创建表中数据4.查看建立的表格二、VC设置准备打开vc++6.0,TOOLS->OPTIONS->DIRECTORIES,在其Include files添加MySQL 的include路径。
切换下拉框,选择Library files,添加MySQL的lib路径。
PROJECTS -->SETINGS-->LINK 在OBJECT/LIBARY MODULES 添加 libmysql.lib将MYSQL安装目录中的几个文件复制到VC工程文件夹中MySQL数据库安装之后在\MySQL \lib\opt目录下libmysql.liblibmysql.dll同时需要\MySQL\include目录下的几个文件:mysql_version.hmy_list.hmysql_.hmysql_time.hmysql.hmy_alloc.htypelib.h在VC的安装目录Microsoft Visual Studio\VC98\Lib下找到:WS2_32.LIB三、VC编程,建立工程WIN32 CONSOLE APPLICATION 代码#include <windows.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <mysql.h>#include <iostream>#pragma comment(lib,"libmysql.lib")//连接MysQL需要的库using namespace std;int main(){const char user[] = "root"; //usernameconst char pswd[] = ""; //passwordconst char host[] = "127.0.0.1"; //or"127.0.0.1"const char table[] ="testdb"; //databaseunsigned int port = 3306; //server portMYSQL myCont;MYSQL_RES *result;MYSQL_ROW sql_row;MYSQL_FIELD *fd;char column[32][32];int res;mysql_init(&myCont);if(mysql_real_connect(&myCont,host,user,pswd,table,port,NULL,0)){cout<<"connect succeed!"<<endl;mysql_query(&myCont, "SET NAMES GBK"); //设置编码格式,否则在cmd下无法显示中文 res=mysql_query(&myCont,"select * from name_table");//查询if(!res){result=mysql_store_result(&myCont);//保存查询到的数据到resultif(result){int i,j;cout<<"number of result: "<<(unsigned long)mysql_num_rows(result)<<endl;for(i=0;fd=mysql_fetch_field(result);i++)//获取列名{strcpy(column[i],fd->name);}j=mysql_num_fields(result);for(i=0;i<j;i++){printf("%s\t",column[i]);}printf("\n");while(sql_row=mysql_fetch_row(result))//获取具体的数据{for(i=0;i<j;i++){printf("%s\n",sql_row[i]);}printf("\n");}}}else{cout<<"query sql failed!"<<endl;}}else{cout<<"connect failed!"<<endl;}if(result!=NULL) mysql_free_result(result);//释放结果资源mysql_close(&myCont);//断开连接return 0;}结果四、心得通过网络资料自学使用MY SQL连接vc的方法。
连接mysql的方法

连接mysql的方法连接MySQL的方法主要有以下几种:1. 使用MySQL命令行工具连接:在命令行中输入`mysql -u 用户名-p`,然后输入密码即可连接到MySQL服务器。
2. 使用MySQL提供的图形化界面工具连接:MySQL提供了一些图形化界面工具,如MySQL Workbench、phpMyAdmin等,可以通过它们来连接MySQL 服务器。
3. 使用编程语言的MySQL驱动连接:各种编程语言都提供了与MySQL交互的驱动程序,可以通过编写代码来连接MySQL服务器。
例如,在Java中可以使用JDBC驱动,Python中可以使用PyMySQL、mysql-connector-python 等驱动。
下面是一个使用Python的PyMySQL模块连接MySQL的例子:import pymysql# 连接数据库conn = pymysql.connect(host='localhost', user='root',password='123456', database='test')# 创建游标对象cursor = conn.cursor()# 执行SQL语句sql = "SELECT * FROM user"cursor.execute(sql)# 获取结果result = cursor.fetchall()for row in result:print(row)# 关闭游标和连接cursor.close()conn.close()这是一个简单的连接和执行SQL语句的例子,具体的连接参数和SQL语句根据实际情况进行调整。
C++连接mysql数据库的两种方法小结

C++连接mysql数据库的两种⽅法⼩结现在正做⼀个接⼝,通过不同的连接字符串操作不同的数据库。
要⽤到mysql数据库,以前没⽤过这个数据库,⽤access和sql server⽐较多。
通过⽹上的⼀些资料和⾃⼰的摸索,⼤致清楚了C++连接mysql的⽅法。
可以通过2种⽅法实现。
第⼀种⽅法是利⽤ADO连接,第⼆种⽅法是利⽤mysql⾃⼰的api函数进⾏连接。
第⼀种⽅法可以实现我当前的需求,通过连接不同的字符串来连接不同的数据库。
暂时只连接了mysql,sqlserver,oracle,access。
对于access,因为它创建表的SQL 语句不太兼容标准SQL语句,需要做⼀些处理,这⾥暂时不说。
第⼆种⽅法只能针对于mysql数据库的连接,不过⽤这种⽅法不⽤安装MyODBC服务器程序。
不管⽤哪种⽅法,⾸先需要安装Mysql数据库,安装⽅法请看“mysql安装及⼀些注意点”。
最好安装⼀个Navicat for mysql,⽅便操作mysql数据库。
下⾯分别说下这两种⽅法:(⼀)通过ADO连接MySql数据库1、通过ADO连接MySql数据库,⾸先得安装MyODBC服务器程序。
MyODBC版本要和MySql的版本对应上,否则会连接不上数据库。
我⽤的版本分别是mysql-5.1.48-win32.msi和mysql-connector-odbc-5.1.5-win32.msi。
安装好后,点击开始菜单->设置->控制⾯板->管理⼯具->数据源(ODBC)->⽤户DSN->添加->选择MySQL ODBC 5.1 Driver。
如下图:然后双击MySQL ODBC 5.1 Driver进⾏配置。
配置好可以点Test进⾏下测试(如下图),如果能连上会弹出connection successful对话框。
上图中的Data Source Name:中的内容就是代码⾥DSN所对应的值。
windows下c++连接mysql

C++连接mysql 数据库环境:windows xp VC++6.0 mysql目的:实现建表,插入,检索,删表等常用功能。
VC6.0 的配置:菜单栏—》工具—》选项—》目录—》添加:C:\Program Files\MySQL\MySQL Server 6.0\includeC:\Program Files\MySQL\MySQL Server 6.0\lib\opt拷贝C:\Program Files\MySQL\MySQL Server 6.0\lib\opt下的libmysql.lib到C:\Program Files\Microsoft Visual Studio\VC98\Lib下写aa.cpp【注:一层层执行可以看到更好的效果】#include <winsock.h>#include <iostream>#include <string>#include <mysql.h>using namespace std;#pragma comment(lib, "ws2_32.lib")#pragma comment(lib, "libmysql.lib")//单步执行,不想单步执行就注释掉#define STEPBYSTEPint main(){cout<<"****************************************"<<endl;#ifdef STEPBYSTEPsystem("pause");#endif//必备的一个数据结构MYSQL mydata;//初始化数据库if(0==mysql_library_init(0,NULL,NULL)){cout<<"mysql_library_init() succeed"<<endl;}else{cout<<"mysql_library_init() failed"<<endl;return -1;}#ifdef STEPBYSTEPsystem("pause");#endif//初始化数据结构if(NULL!=mysql_init(&mydata)){cout<<"mysql_init() succeed"<<endl;}else{cout<<"mysql_init() failed"<<endl;return -1;}#ifdef STEPBYSTEPsystem("pause");#endif//在连接数据库之前,设置额外的连接选项//可以设置的选项很多,这里设置字符集,否则无法处理中文if(0==mysql_options(&mydata,MYSQL_SET_CHARSET_NAME,"gbk")) {cout<<"mysql_options() succeed"<<endl;}else{cout<<"mysql_options() failed"<<endl;return -1;}#ifdef STEPBYSTEPsystem("pause");#endif//连接数据库if(NULL!=mysql_real_connect(&mydata,"localhost","root","test","test",3306,NULL ,0))//这里的地址,用户名,密码,端口可以根据自己本地的情况更改{cout<<"mysql_real_connect() succeed"<<endl;}else{cout<<"mysql_real_connect() failed"<<endl;return -1;}#ifdef STEPBYSTEPsystem("pause");#endif//sql字符串string sqlstr;//创建一个表sqlstr ="CREATE TABLE IF NOT EXISTS user_info";sqlstr+="(";sqlstr+="user_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'Unique User ID',";sqlstr+="user_name VARCHAR(100) CHARACTER SET gb2312 COLLATE gb2312_chinese_ci NULL COMMENT 'Name Of User',";sqlstr+="user_second_sum INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'The SummationOf Using Time'";sqlstr+=");";if(0==mysql_query(&mydata,sqlstr.c_str())){cout<<"mysql_query() create table succeed"<<endl;}else{cout<<"mysql_query() create table failed"<<endl;mysql_close(&mydata);return -1;}#ifdef STEPBYSTEPsystem("pause");#endif//向表中插入数据sqlstr ="INSERT INTO user_info(user_name) VALUES('公司名称'),('一级部门'),('二级部门'),('开发小组'),('姓名');";if(0==mysql_query(&mydata,sqlstr.c_str())){cout<<"mysql_query() insert data succeed"<<endl;}else{cout<<"mysql_query() insert data failed"<<endl;mysql_close(&mydata);return -1;}#ifdef STEPBYSTEPsystem("pause");#endif//显示刚才插入的数据sqlstr="SELECT user_id,user_name,user_second_sum FROM user_info"; MYSQL_RES *result=NULL;if(0==mysql_query(&mydata,sqlstr.c_str())){cout<<"mysql_query() select data succeed"<<endl;//一次性取得数据集result=mysql_store_result(&mydata);//取得并打印行数int rowcount=mysql_num_rows(result);cout<<"row count: "<<rowcount<<endl;//取得并打印各字段的名称unsigned int fieldcount=mysql_num_fields(result);MYSQL_FIELD *field=NULL;for(unsigned int i=0;i<fieldcount;i++){field=mysql_fetch_field_direct(result,i);cout<<field->name<<"\t\t";}cout<<endl;//打印各行MYSQL_ROW row=NULL;row=mysql_fetch_row(result);while(NULL!=row){for(int i=0; i<fieldcount;i++){cout<<row[i]<<"\t\t";}cout<<endl;row=mysql_fetch_row(result);}}else{cout<<"mysql_query() select data failed"<<endl; mysql_close(&mydata);return -1;}#ifdef STEPBYSTEPsystem("pause");#endif//删除刚才建的表sqlstr="DROP TABLE user_info";if(0==mysql_query(&mydata,sqlstr.c_str())){cout<<"mysql_query() drop table succeed"<<endl; }else{cout<<"mysql_query() drop table failed"<<endl; mysql_close(&mydata) ;return -1;}mysql_free_result(result);mysql_close(&mydata);mysql_server_end();system("pause");return 0;}vc++添加c++文件:添加后:运行:没有错误的话会在debug下生成可执行文件:运行aa.exe:查看数据库:没用C连接之前:C连接mysql修改后:DONE!!1。
C连接MYSQL数据库的3种方法及示例

C连接MYSQL数据库的3种方法及示例连接MYSQL数据库有多种方法,下面介绍其中三种常用的方法。
1.使用CAPI连接MYSQL数据库CAPI是官方提供的一套用于连接和操作MYSQL数据库的函数库。
使用该API,可以在C程序中直接连接MYSQL数据库,并执行各种SQL语句。
以下是一个连接MYSQL数据库的示例:```c#include <mysql.h>int maiMYSQL *conn;MYSQL_RES *res;MYSQL_ROW row;conn = mysql_init(NULL);if (conn == NULL)fprintf(stderr, "mysql_init failed\n");return 1;}if (mysql_real_connect(conn, "localhost", "user", "password", "database", 0, NULL, 0) == NULL)fprintf(stderr, "mysql_real_connect failed: %s\n", mysql_error(conn));mysql_close(conn);return 1;}if (mysql_query(conn, "SELECT * FROM table"))fprintf(stderr, "mysql_query failed: %s\n",mysql_error(conn));mysql_close(conn);return 1;}res = mysql_use_result(conn);while ((row = mysql_fetch_row(res)) != NULL)printf("%s %s %s\n", row[0], row[1], row[2]);}mysql_free_result(res);mysql_close(conn);return 0;```上述代码首先初始化MYSQL对象,然后使用mysql_real_connect函数连接MYSQL数据库。
MYSQL的几种连接方法

MYSQL的几种连接方法MySQL是一种常用的关系型数据库管理系统,提供了多种连接方法来访问和操作数据库。
下面将详细介绍MySQL的几种连接方法:1.TCP连接:MySQL的默认连接方式是基于TCP/IP的连接。
当使用TCP连接时,客户端通过指定主机名或IP地址和端口号来连接到MySQL 服务器。
这种连接方式是最常见和最常用的方式,也是最安全和可靠的方式。
2. 命名管道连接:MySQL也支持通过命名管道(Named Pipe)来进行连接。
命名管道是一种在操作系统中用于进程间通信的机制,可以在客户端和服务器之间建立一个虚拟的传输通道。
在使用命名管道连接时,客户端和服务器需要在操作系统上创建一个相同的命名管道进行通信。
3. UNIX域套接字连接:UNIX域套接字(UNIX Domain Socket)是在UNIX或Linux系统上进行本地进程间通信的一种机制。
MySQL支持通过UNIX域套接字连接到服务器,这种连接方式是基于文件系统的,比TCP 连接更快速和高效。
4. SSH隧道连接:SSH隧道(SSH Tunnel)是一种通过安全外壳协议(SSH)在不安全网络上建立加密连接的方法。
用户可以通过SSH隧道连接到MySQL服务器,以增加安全性并防止网络攻击。
在使用SSH隧道连接时,用户需要在本地计算机上运行SSH客户端,并将SSH连接端口重定向到MySQL服务器的端口。
5. SSL连接:MySQL支持使用SSL(Secure Sockets Layer)协议进行安全连接。
当使用SSL连接时,数据在客户端和服务器之间通过加密传输,可以防止数据被窃听或篡改。
要启用SSL连接,需要在MySQL服务器上配置SSL证书和密钥,并在客户端上配置SSL选项。
除了以上几种连接方法,MySQL还提供了一些其他的连接选项和功能,如连接池、连接复用和持久连接等。
连接池可以提高连接的重用性和效率,连接复用可以减少连接的创建和关闭开销,而持久连接可以在客户端和服务器之间保持一个持久的连接状态,以避免频繁的连接和断开操作。
C#窗体连接MySql并通过DataGridView展示数据

C#窗体连接MySql并通过DataGridView展⽰数据第⼀步,添加MySql.Data⼯具,⾸先,C#连接MySql数据库需要⽤到C#连接MySql数据库所⽤到的动态链接库--MySql.Data,如果没有这个⽂件⾸先我们需要将他添加进项⽬中,1.右键项⽬名,点击管理NuGet程序包:2.在浏览页⾯的搜索栏输⼊MySql.Data,如果没有安装右侧会有安装⼀栏选项,我们就可以点击右侧的安装选项进⾏安装,安装成功后我们就可以进⾏编码操作了:第⼆步,编码实现,然后,我们就可以进⼊编码阶段了,⾸先我们需要加⼊头⽂件:using MySql.Data.MySqlClient;这样我们就可以使⽤MySql.Data中的⽅法来连接数据库了,连接数据库代码如下:String connetStr = "server=127.0.0.1;port=3306;user=root;password=123; database=vs;";//usr:⽤户名,password:数据库密码,database:数据库名MySqlConnection conn = new MySqlConnection(connetStr);try{conn.Open();//打开通道,建⽴连接,可能出现异常,使⽤try catch语句Console.WriteLine("已经建⽴连接");}catch (MySqlException ex){Console.WriteLine(ex.Message);}finally{conn.Close();}如果连接数据库成功,我们就可以进⾏下⾯的操作了,取出数据并通过DataGridView展⽰出来了,代码如下:String connetStr = "server=127.0.0.1;port=3306;user=root;password=123; database=vs;";MySqlConnection conn = new MySqlConnection(connetStr);try{conn.Open();//打开通道,建⽴连接,可能出现异常,使⽤try catch语句Console.WriteLine("已经建⽴连接");string sql = "select * from salecar";MySqlCommand cmd = new MySqlCommand(sql, conn);MySqlDataReader reader = cmd.ExecuteReader();//执⾏ExecuteReader()返回⼀个MySqlDataReader对象while (reader.Read()){int index = this.dataGridView1.Rows.Add();this.dataGridView1.Rows[index].Cells[0].Value = reader.GetString("name");this.dataGridView1.Rows[index].Cells[1].Value = reader.GetString("describe");this.dataGridView1.Rows[index].Cells[2].Value = reader.GetString("price");this.dataGridView1.Rows[index].Cells[3].Value = reader.GetInt32("salenumber");}}catch (MySqlException ex){Console.WriteLine(ex.Message);}finally{conn.Close();}这样我们就完成了C#窗体连接MySql并通过DataGridView展⽰数据,下⾯是效果图和全部代码:全部代码:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using MySql.Data.MySqlClient;namespace WindowsFormsApp1{public partial class Form3 : Form{public Form3(){InitializeComponent();a();}private void button1_Click(object sender, EventArgs e){Form1 fm1 = new Form1();this.Hide();fm1.ShowDialog();Application.ExitThread();}private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e){}public void a(){String connetStr = "server=127.0.0.1;port=3306;user=root;password=123; database=vs;";MySqlConnection conn = new MySqlConnection(connetStr);try{conn.Open();//打开通道,建⽴连接,可能出现异常,使⽤try catch语句Console.WriteLine("已经建⽴连接");//在这⾥使⽤代码对数据库进⾏增删查改string sql = "select * from salecar";MySqlCommand cmd = new MySqlCommand(sql, conn);MySqlDataReader reader = cmd.ExecuteReader();//执⾏ExecuteReader()返回⼀个MySqlDataReader对象while (reader.Read()){int index = this.dataGridView1.Rows.Add();this.dataGridView1.Rows[index].Cells[0].Value = reader.GetString("name");this.dataGridView1.Rows[index].Cells[1].Value = reader.GetString("describe");this.dataGridView1.Rows[index].Cells[2].Value = reader.GetString("price");this.dataGridView1.Rows[index].Cells[3].Value = reader.GetInt32("salenumber");}}catch (MySqlException ex){Console.WriteLine(ex.Message);}finally{conn.Close();}}}}效果:数据库表:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C# 连接MYSQL数据库的方法及示例连接MYSQL数据库的方法及示例方法一:using MySql、Datausing MySql、Data、MySqlClient;其她操作跟SQL就是差不多,无非就就是前缀变成MySql了、补充:下面就是连接字符串,供参考、MySqlConnection con = new MySql、Data、MySqlClient、MySqlConnection("Database='testdb';Data Source='localhost';UserId='db';Password='apple';charset='utf8'");con、Open();MySqlCommand cmd = new MySqlCommand();cmd、Connection = con;使用MYSQL推出的MySQL Connector/Net is an ADO、NET driver for MySQL该组件为MYSQL为ADO、NET访问MYSQL数据库设计的、NET访问组件。
安装完成该组件后,引用命名空间MySql、Data、MySqlClient;使用命令行编译时:csc /r:MySql、Data、dll test、cs方法二:通过ODBC访问MYSQL数据库访问前要先下载两个组件:odbc、net与MYSQL的ODBC驱动(MySQL Connector/ODBC (MyODBC) driver)目前为3、51版安装完成后,即可通过ODBC访问MYSQL数据库方法三:使用CoreLab推出的MYSQL访问组件,面向、NET安装完成后,引用命名空间:CoreLab、MySql;使用命令编译时:csc /r:CoreLab、MySql、dll test、cs以下为访问MYSQL数据库实例编译指令:csc /r:CoreLab、MySql、dll /r:MySql、Data、dll test、csusing System;using System、Net;using System、Text;using CoreLab、MySql;using System、Data、Odbc;using MySql、Data、MySqlClient;class ConnectMySql{public void Connect_CoreLab(){string constr = "User Id=root;Host=localhost;Database=qing;password=qing"; MySqlConnection mycn = new MySqlConnection(constr);mycn、Open();MySqlCommand mycm = new MySqlCommand("select * from shop",mycn); MySqlDataReader msdr = mycm、ExecuteReader();while(msdr、Read()){if (msdr、HasRows){Console、WriteLine(msdr、GetString(0));}}msdr、Close();mycn、Close();}public void Connect_Odbc(){//string MyConString ="DSN=MySQL;UID=root;PWD=qing";string MyConString = "DRIVER={MySQL ODBC 3、51 Driver};" +"SERVER=localhost;" +"DATABASE=test;" +"UID=root;" +"PASSWORD=qing;" +"OPTION=3";OdbcConnection MyConn = new OdbcConnection(MyConString);MyConn、Open();OdbcCommand mycm = new OdbcCommand("select * from hello",MyConn); OdbcDataReader msdr = mycm、ExecuteReader();while(msdr、Read()){if (msdr、HasRows){Console、WriteLine(msdr、GetString(0));}}msdr、Close();MyConn、Close();}public void Connect_Net(){string myConnectionString = "Database=test;Data Source=localhost;UserId=root;Password=qing";MySqlConnection mycn = new MySqlConnection(myConnectionString); mycn、Open();MySqlCommand mycm = new MySqlCommand("select * from hello",mycn); MySqlDataReader msdr = mycm、ExecuteReader();while(msdr、Read()){if (msdr、HasRows){Console、WriteLine(msdr、GetString(0));}}msdr、Close();mycn、Close();}public static void Main(){ConnectMySql ms = new ConnectMySql();ms、Connect_CoreLab();ms、Connect_Odbc();Connect_Net();}}1、用MySQLDriverCS连接MySQL数据库先下载与安装MySQLDriverCS,地址:在安装文件夹下面找到MySQLDriver、dll,然后将MySQLDriver、dll添加引用到项目中注:我下载的就是版本就是MySQLDriverCS-n-EasyQueryTools-4.0.1-DotNet2、0、exeusing System;using System、Collections、Generic;using System、ComponentModel;using System、Data;using System、Data、Odbc;using System、Drawing;using System、Linq;using System、Text;using System、Windows、Forms;using MySQLDriverCS;namespace mysql{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){MySQLConnection conn = null;conn = new MySQLConnection(new MySQLConnectionString("localhost", "inv", "root", "831025")、AsString);conn、Open();MySQLCommand commn = new MySQLCommand("set names gb2312", conn);commn、ExecuteNonQuery();string sql = "select * from exchange ";MySQLDataAdapter mda = new MySQLDataAdapter(sql, conn);DataSet ds = new DataSet();mda、Fill(ds, "table1");this、dataGrid1、DataSource = ds、Tables["table1"];conn、Close();}}}2、通过ODBC访问mysql数据库:参考:1、安装Microsoft ODBC、net:我安装的就是mysql-connector-odbc-3.51.22-win32、msi2、安装MDAC 2、7或者更高版本:我安装的就是mdac_typ、exe 2、7简体中文版3、安装MySQL的ODBC驱动程序:我安装的就是odbc_net、msi4、管理工具-> 数据源ODBC –>配置DSN…5、解决方案管理中添加引用Microsoft、Data、Odbc、dll(1、0、3300)6、代码中增加引用using Microsoft、Data、Odbc;using System;using System、Collections、Generic;using System、ComponentModel;using System、Drawing;using System、Linq; //vs2005好像没有这个命名空间,在c#2008下测试自动生成的using System、Text;using System、Windows、Forms;using Microsoft、Data、Odbc;namespace mysql{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){string MyConString = "DRIVER={MySQL ODBC 3、51 Driver};" +"SERVER=localhost;" +"DATABASE=inv;" +"UID=root;" +"PASSWORD=831025;" +"OPTION=3";OdbcConnection MyConnection = new OdbcConnection(MyConString);MyConnection、Open();Console、WriteLine("\n success, connected successfully !\n");string query = "insert into test values( ''hello'', ''lucas'', ''liu'')";OdbcCommand cmd = new OdbcCommand(query, MyConnection);//处理异常:插入重复记录有异常try{cmd、ExecuteNonQuery();}catch(Exception ex){Console、WriteLine("record duplicate、");}finally{cmd、Dispose();}//***********************用read方法读数据到textbox********************** string tmp1 = null;string tmp2 = null;string tmp3 = null;query = "select * from test ";OdbcCommand cmd2 = new OdbcCommand(query, MyConnection);OdbcDataReader reader = cmd2、ExecuteReader();while (reader、Read()){tmp1 = reader[0]、ToString();tmp2 = reader[1]、ToString();tmp3 = reader[2]、ToString();}this、textBox1、Text = tmp1 + " " + tmp2 + " " + tmp3;*///************************用datagridview控件显示数据表************************** string MyConString = "DRIVER={MySQL ODBC 3、51 Driver};" +"SERVER=localhost;" +"DATABASE=inv;" +"UID=root;" +"PASSWORD=831025;" +"OPTION=3";OdbcConnection MyConnection = new OdbcConnection(MyConString); OdbcDataAdapter oda = new OdbcDataAdapter("select * from customer ", MyConnection); DataSet ds = new DataSet();oda、Fill(ds, "employee");this、dataGridView1、DataSource = ds、Tables["employee"];*/MyConnection、Close();}}}文章出处:1、用MySQLDriverCS连接MySQL数据库先下载与安装MySQLDriverCS,地址:在安装文件夹下面找到MySQLDriver、dll,然后将MySQLDriver、dll添加引用到项目中注:我下载的就是版本就是MySQLDriverCS-n-EasyQueryTools-4.0.1-DotNet2、0、exeusing System;using System、Collections、Generic;using System、ComponentModel;using System、Data;using System、Data、Odbc;using System、Drawing;using System、Linq;using System、Text;using System、Windows、Forms;using MySQLDriverCS;namespace mysql{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){MySQLConnection conn = null;conn = new MySQLConnection(new MySQLConnectionString("localhost", "inv", "root", "831025")、AsString);conn、Open();MySQLCommand commn = new MySQLCommand("set names gb2312", conn);commn、ExecuteNonQuery();string sql = "select * from exchange ";MySQLDataAdapter mda = new MySQLDataAdapter(sql, conn);DataSet ds = new DataSet();mda、Fill(ds, "table1");this、dataGrid1、DataSource = ds、Tables["table1"];conn、Close();}}}2、通过ODBC访问mysql数据库:参考:1、安装Microsoft ODBC、net:我安装的就是mysql-connector-odbc-3.51.22-win32、msi2、安装MDAC 2、7或者更高版本:我安装的就是mdac_typ、exe 2、7简体中文版3、安装MySQL的ODBC驱动程序:我安装的就是odbc_net、msi4、管理工具-> 数据源ODBC –>配置DSN…5、解决方案管理中添加引用Microsoft、Data、Odbc、dll(1、0、3300)6、代码中增加引用using Microsoft、Data、Odbc;using System;using System、Collections、Generic;using System、ComponentModel;using System、Drawing;using System、Linq; //vs2005好像没有这个命名空间,在c#2008下测试自动生成的using System、Text;using System、Windows、Forms;using Microsoft、Data、Odbc;namespace mysql{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){string MyConString = "DRIVER={MySQL ODBC 3、51 Driver};" +"SERVER=localhost;" +"DATABASE=inv;" +"UID=root;" +"PASSWORD=831025;" +"OPTION=3";OdbcConnection MyConnection = new OdbcConnection(MyConString);MyConnection、Open();Console、WriteLine("\n success, connected successfully !\n");string query = "insert into test values( ''hello'', ''lucas'', ''liu'')";OdbcCommand cmd = new OdbcCommand(query, MyConnection);//处理异常:插入重复记录有异常try{cmd、ExecuteNonQuery();}catch(Exception ex){Console、WriteLine("record duplicate、");}finally{cmd、Dispose();}//***********************用read方法读数据到textbox**********************string tmp1 = null;string tmp2 = null;string tmp3 = null;query = "select * from test ";OdbcCommand cmd2 = new OdbcCommand(query, MyConnection);OdbcDataReader reader = cmd2、ExecuteReader();while (reader、Read()){tmp1 = reader[0]、ToString();tmp2 = reader[1]、ToString();tmp3 = reader[2]、ToString();}this、textBox1、Text = tmp1 + " " + tmp2 + " " + tmp3;*///************************用datagridview控件显示数据表************************** string MyConString = "DRIVER={MySQL ODBC 3、51 Driver};" +"SERVER=localhost;" +"DATABASE=inv;" +"UID=root;" +"PASSWORD=831025;" +"OPTION=3";OdbcConnection MyConnection = new OdbcConnection(MyConString); OdbcDataAdapter oda = new OdbcDataAdapter("select * from customer ", MyConnection); DataSet ds = new DataSet();oda、Fill(ds, "employee");this、dataGridView1、DataSource = ds、Tables["employee"];*/MyConnection、Close();}}}文章出处:C#连接mysql数据库1、连接:1、安装Microsoft ODBC、net。