21.1 C#连接MySQL数据库
C#语言可以通过Connector/ODBC和ODBC来访问MySQL数据库,也可以通过Connecton/Net来访问MySQL数据库。因为,Connecton/Net是执行效率高,而且是MySQL官方推荐的使用的驱动程序;所以,本章主要使用Connecton/Net来访问MySQL数据库。本节将为读者介绍C#连接MySQL数据库的方法。
21.1.1 下载 Connector/Net 驱动程序
使用C#语言来连接MySQL时,需要安装Connector/Net驱动程序。ConnectorTNet是MySQL官方网站提供的专业驱动程序。在网址http://dev.mysql.com/downloads/connector/中选择Connecton/Net链接,就可以跳转到下载Connecton/Net的页面。当前的最新版本是 Connector/Net6.9。进入下载页面后,可以看到3种版本。这3种版本介绍如下。
Sources(ZIP):这是一个源码包,其中包含了Cormector/Net驱动程序的所有源代码
Windows Binaries (zipped MSI installer):这是使用安装向导安装的二进制包
Windows Binaries, no installer (ZIP):这是一个免安装的二进制包,直接解压就 可以使用
本章选择Windows Binaries (zipped MSI installer)来访问MySQL数据库。因此,单击其后面的 Download 链接或者Pick a mirror 链接,下载 Windows Binaries (zipped MSI installer)版本的Connector/Net6.9。
说明:本章介绍使用Connector/Net驱动程序。除了这种方法以外,可以使用Connector/ODBC和ODBC驱动结合来访问MySQL数据库。也可以使用 Connector/ODBC和OLE-DB驱动结合。这两种方式都是通过ODBC来访问MySQL数据库。
21.1.2 安装 Connector/Net 驱动程序
Connector/Net驱动程序下载完成后,可以在下载路径看到压缩文件mysql-connector-net-6.9.7_zip。将这个压缩文件解压后,弹出安装文件mysql.data.msi。mysql.data.msi的安装过程如下:
(1)双击mysql.data.msi,弹出Connector/Net的安装欢迎界面。
(2)单击Next按钮,进入选择安装类型的界面。
Connector/Net有3种安装类型,分别是Typical、Custom和Complete。这3种类型的介绍如下:
Typical表示典型的安装模式。这种方式将安装最常用的程序。这种安装方式也是推荐的安装方式
Custom表示自定义的安装模式。用户可以选择安装的程序和安装路径
Complete表示完全安装的安装模式。这种方式将安装Connector/Net的所有程序。 但是,这种安装方式占用磁盘空间比较大
(3)单击Typical按钮,进入准备安装的界面。
(4)单击istall按钮,进入安装界面。
Connector/Net安装完成后,图形安装向导进入安装完成界面的左下角有一个选项,这个选项表示是否向Sun公司注册。这个选项可以选,也可以不选。注册是不需要费用的,注册的作用主要是sun公司希望了解下载用户的信息。 单击finsh按钮,即完成了安装。
Connector/Net驱动程序的默认安装路径是C:\Program Files\MySQL\MySQL Connector Net 6.9.7安装路径的Assemblies目录下存储着后缀名为.dll的库文件,这些都是C#语言访问MySQL数据库时需要使用的库文件。
21.1.3 使用 Connector/Net驱动程序
推荐使用Microsoft Visual Studio编辑C#程序,因为这个集成开发环境功能非常强大。 本章介绍的内容都是基于Microsoft Visual Studio的。如果需要在项目中使用Connector/Net驱动程序,那么必须将ConnectOR/Net驱动程序引用到项目中。在Microsoft Visual Studio中单击Project(项目)|Add Reference(添加引用)选项,在弹出的界面中选择MySql.Data组件,然后单击【确定】按钮。这样即可将MySql.Data.dll 文件添加到项目中。在Microsoft Visual Studio右侧的窗口中可以看到有关引用的信息。如果,在窗口的右侧的"引用"文件夹下可以看到“MySql.Data”和“System.Data” 这说 明这两个库文件已经添加成功。通过这两个库文件就可以连接MySQL数据库,并且可以操作数据库中的数据了。
注意:如果创建的网站工程,Microsoft Visual Studio编辑器的菜单栏中可能没有Project(项目)这个选项。这种情况下,菜单栏中取代Project的可能是Website(网站)。单击Website后,会出现下拉菜单,在其中可以找到Add Reference(添加引用)选项。
21.1.4 连接MySQL数据库
使用Connector/Net驱动程序时,通过MySQLConnection对象来连接MySQL数据库。连接MySQL的程序的最前面需要引用MySql.Data.MySqlClient。引用的语句如下:
using MySql.Data.MySqlClient; //使用命名空间
连接MySQL数据库时,需要提供主机名或者IP地址、连接的数据库名、数据库用户名和用户密码等信息。每个信息之间用分号(;)隔开。下面是创建MySQLConnection对象的语句:
MySqlConnection conn = null; //创建 MySqlConnection 对象,连接 MySQL 数据库conn = new MySqlConnection("Data Source=主机名或者IP地址;Initial Catalog=数据库名;User ID=用户名; Password=用户密码");
语句中的参数介绍如下。
Data Source:表示MySQL数据库所在计算机的主机名或者IP。Data Source可以用Host替代,两者的使用方式是一样的;
Initial Catalog:表示需要连接的数据库。Initial Catalog可以用Database替代;
UserID:表示登录数据库的用户名。UserID可以用Userid、Uid、Usemame、User name替代;
Password:表示登录数据库的密码。Password可以用PWD替代。
创建MySQLConnection对象后,需要调用Open()函数来执行连接操作。
【示例21-1】下面是连接本地计算机MySQL数据库。MySQL使用默认端口3306, 连接的数据库是test。使用root用户来连接,root用户的密码是huang。连接MySQL的语句如下:
MySqlConnection conn = null; //创建 MySqlConnectlon 对象,连接 MySQL 数据库 conn = new MySqlConnection("Data Source=localhost;lnitial Catalog=test; User ID=root;Password=huang"); conn.Open(); //调用Open()对象,打开对象 if(conn.State.ToString()=="Open"){ //判断conn的状态是否是Open Console.WriteLine("连接到MySQL数据库,连接成功!");//状态为Open,表示连接成功 } else{ Console.WriteLine("连接失败!"); // 否则,连接失败 }
>
创建MySQLConnection对象conn,通过conn.Open()来连接MySQL数据库。如果conn.Open()执行成功,那么conn的状态就是Open.执行成功后,在控制台输出连接成功的信息。如果连接失败,则在控制台输出连接失败的信息。