本篇文章为大家展示了MySQL数据库如何与c#连接,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
连接数据库,操作数据库,本质是利用数据库提供的动态链接库MySql.Data.dll进行操作.MySql.Data。dll提供以下8个类:
- <李> MySqlConnection:连接MySQL服务器数据库。李> <李> MySqlCommand:执行一条sql语句。李> <李> MySqlDataReader:包含sql语句执行的结果,并提供一个方法从结果中阅读一行。李> <李> MySqlTransaction:代表一个sql事务在一个MySQL数据库。李> <李> MySqlException: MySQL报错时返回的例外。李> <李> MySqlCommandBuilder:自动生成文档用于协调更改相关的MySQL数据库的数据集。李李> <> MySqlDataAdapter:表示一组数据命令和一个数据库连接,用于填充一个数据集和更新一个MySQL数据库。李李> <> MySqlHelper:辅助类,使它更容易使用提供者。
李,>
<强> 1。添加动态链接库文件强>
方法一:Visual Studio,在项目(右键)-管理NuGet程序包(N)然后在浏览里面搜索MySql。数据并进行安装。
方法二:安装数据库MySQL时要选中连接器。NET 6.9的安装,将C: \程序文件(x86) \ MySQL \连接器。NET 6.9 \程序集里v4.0或v4.5开发中的MySql.Data.dll添加到项目的引用.v4.0和v4.5开发,对Visual Studio应具体项目属性,应用程序——目标框架里的。微软网络框架的版本号。
<强> 2。建立连接(MySqlConnection类)强>
; 字符串connetStr=胺衿?127.0.0.1;端口=3306;用户=根;密码=根;数据库=minecraftdb;“;//服务器=127.0.0.1/localhost代表本机,端口号端口默认是3306可以不写 MySqlConnection康涅狄格州=new MySqlConnection (connetStr); 试一试 { conn.Open();//打开通道,建立连接,可能出现异常,使用试着抓住语句 Console.WriteLine(“已经建立连接“);//在这里使用代码对数据库进行增删查改 } 抓住(MySqlException练习) { Console.WriteLine (ex.Message); } 最后 { conn.Close (); }
<强> 3。捕捉异常(MySqlException类)强>
连接错误时MySqlConnection会返回一个MySqlException,其中包括2个变量:
信息:描述当前异常的消息。
号码:MySQL错误号码。(0:无法连接到服务器。1045:无效的用户名和/或密码。)
抓住(MySqlException练习) { 开关(ex.Number) { 例0: Console.WriteLine(“无法连接到服务器。联系administrator"); 打破; 1045年情况: Console.WriteLine(“无效的用户名/密码,请试着again"); 打破; } }
<>强4。增删查改的代码(MySqlCommand类,MySqlDataReader类)强>
ExecuteReader——用于查询数据库。查询结果是返回MySqlDataReader对象,MySqlDataReader包含sql语句执行的结果,并提供一个方法从结果中阅读一行。
ExecuteNonQuery——用于插入,更新和删除数据。
ExecuteScalar——用于查询数据时,返回查询结果集中第一行第一列的值,即只返回一个值。
(1)查询
。查询条件固定
字符串sql=皊elect * from user"; 康涅狄格州MySqlCommand cmd=new MySqlCommand (sql); MySqlDataReader读者=cmd.ExecuteReader();//执行ExecuteReader()返回一个MySqlDataReader对象 而(reader.Read())//初始索引是1,执行读取下一行数据,返回值是布尔值 {//Console.WriteLine(读者[0].ToString() +读者[1].ToString() +读者[2].ToString ());//Console.WriteLine (reader.GetInt32 (0) + reader.GetString reader.GetString (1) + (2)); Console.WriteLine (reader.GetInt32 (“userid") + reader.GetString (“username") + reader.GetString (“password"));//皍serid"是数据库对应的列名,推荐这种方式 }
b。查询条件不固定
//字符串sql=皊elect *从用户用户名=& # 39;“+用户名+“& # 39;和密码=& # 39;“+密码+“& # 39;“;//我们自己按照查询条件去组拼 字符串sql=皊elect *从用户用户名=@para1和密码=@para2";//sql语在句中定义参数,然后再给参数赋值 康涅狄格州MySqlCommand cmd=new MySqlCommand (sql); cmd.Parameters.AddWithValue (“para1"、用户名); cmd.Parameters.AddWithValue (“para2"、密码); MySqlDataReader读者=cmd.ExecuteReader (); 如果(reader.Read())//如果用户名和密码正确则能查询到一条语句,即读取下一行返回现实 { 返回true; }
c。需要查询返回一个值