C# 连接数据库

1、安装驱动

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

默认是安装在C盘:C:Program FilesMySQLMySQL Connector Net 6.9.9

其中,C:Program FilesMySQLMySQL Connector Net 6.9.9Assemblies下有v4.0和v4.5。

(VS2010使用V4.0下的dll文件
VS2012/2013/2015使用v4.5下的dll文件)

其中有一个帮助手册十分有用:

Documentation文件夹下的ConnectorNET.chm中包含了连接mysql数据库的API。

安装完后我们选择使用v4.0。然后在应用工程中引用组件MySql.Data.dll。

 

2、把MySql.Data.dll引进去

写上using MySql.Data.MySqlClient;

  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Text;
  5 using System.Threading.Tasks;
  6 using MySql.Data.MySqlClient;
  7 namespace ConsoleApplication2
  8 {
  9     class Program
 10     {
 11         static void Main(string[] args)
 12         {
 13 
 14             //VerifyUSser("root", "123456");
 15            
 16             //InsertSQL();
 17             DeleteSQL();
 18            // UpdateSQL();
 19             ReadSQL();
 20             Console.ReadKey();
 21         }
 22 
 23         /// <summary>
 24         /// 读取数据库
 25         /// </summary>
 26         static void ReadSQL()
 27         {
 28             string connectStr = "server=127.0.0.1;port=3306;database=test;user=root;password=123456;SslMode=none;charset=utf8";
 29             MySqlConnection conn = new MySqlConnection(connectStr);
 30             try
 31             {
 32                 conn.Open();    //建立连接,打开数据库
 33                 Console.WriteLine("打开数据库成功");
 34                 string sqlstr = "select * from student";
 35                 MySqlCommand cmd = new MySqlCommand(sqlstr, conn);
 36                 MySqlDataReader reader = cmd.ExecuteReader();
 37                 //reader.Read();  //读取下一页数据 ,读取成功,返回true,下一页没有数据则返回false表示到了最后一页
 38                 while (reader.Read())   //遍历表中数据
 39                 {
 40                     int sno = reader.GetInt32(reader.GetOrdinal("sno"));
 41                     string name = reader.GetString(reader.GetOrdinal("name"));
 42                     string sex = reader.GetString(reader.GetOrdinal("sex"));
 43                     int age = reader.GetInt32(reader.GetOrdinal("age"));
 44                     Console.WriteLine(sno + " " + name + " " + sex + " " + age);
 45                 }
 46             }
 47             catch (Exception ex)
 48             {
 49                 Console.WriteLine(ex.ToString());
 50             }
 51             finally
 52             {
 53                 conn.Close();   //关闭连接
 54             }
 55         }
 56 
 57         static bool VerifyUSser()
 58         {
 59             string username = "";
 60             string password = "";
 61             string server = "";
 62             string port = "";
 63             string database = "";
 64             string connectStr = "server=" + server + ";"
 65                                 + "port=" + port + ";"
 66                                 + "database=" + database + ";"
 67                                 + "username=" + username + ";"
 68                                 + "password=" + password + ";"
 69                                 + "SslMode=none" //防止报sll connecttion 错误
 70                                 + "charset=utf8"; //可以插入中文
 71             MySqlConnection conn = new MySqlConnection(connectStr);   //建立数据库连接
 72             try
 73             {
 74                 conn.Open(); //建立连接,打开数据库
 75                 string sqlstr = "select * from student";
 76                 MySqlCommand cmd = new MySqlCommand(sqlstr, conn);
 77                 //通过设置参数的形式给SQL 语句串值
 78                 cmd.Parameters.AddWithValue("para1", username);
 79                 cmd.Parameters.AddWithValue("para2", password);
 80 
 81                 MySqlDataReader reader = cmd.ExecuteReader();
 82                 if (reader.Read())
 83                 {
 84                     return true;
 85                 }
 86                 return false;
 87             }
 88             catch (Exception ex)
 89             {
 90                 Console.WriteLine(ex.ToString());
 91             }
 92             finally
 93             {
 94                 conn.Close();   //关闭连接              
 95             }
 96             return false;
 97         }
 98 
 99 
100         /// <summary>
101         /// 插入数据到数据库中
102         /// </summary>
103         static void InsertSQL()
104         {
105             string connectStr = "server=127.0.0.1;port=3306;database=test;user=root;password=123456;SslMode=none;charset=utf8";
106             //并没有建立数据库连接
107             MySqlConnection conn = new MySqlConnection(connectStr);
108             try
109             {   //建立连接,打开数据库
110                 conn.Open();
111                 //注意一条SQL语句不要一条语句执行两次,会因为已存在而报错
112                 string sqlstr = "insert into student(sno,name,sex,age) values(1105,"sdfd","男",321)";   //SQL语句
113                 MySqlCommand cmd = new MySqlCommand(sqlstr, conn);
114                 //int result = cmd.ExecuteNonQuery();   //返回值为执行后数据库中受影响的数据行数
115                 //Console.WriteLine("执行成功,影响了{0}行数据", result);
116             }
117             catch (Exception ex)
118             {
119                 Console.WriteLine(ex.ToString());
120             }
121             finally
122             {
123                 conn.Close();//关闭连接
124             }
125         }
126 
127         /// <summary>
128         /// 修改数据库中数据
129         /// </summary>
130         static void UpdateSQL()
131         {
132             string connectStr = "server=127.0.0.1;port=3306;database=test;user=root;password=123456;SslMode=none;charset=utf8";
133             //并没有建立数据库连接
134             MySqlConnection conn = new MySqlConnection(connectStr);
135             try
136             {   //建立连接,打开数据库
137                 conn.Open();
138                 string sqlstr = "update student set age=28,name='sdsffcc' where sno=1105";   //SQL语句
139                 MySqlCommand cmd = new MySqlCommand(sqlstr, conn);
140                 int result = cmd.ExecuteNonQuery();   //返回值为执行后数据库中受影响的数据行数
141                 Console.WriteLine("执行成功,影响了{0}行数据", result);
142             }
143             catch (Exception ex)
144             {
145                 Console.WriteLine(ex.ToString());
146             }
147             finally
148             {
149                 conn.Close();   //关闭连接
150             }
151         }
152 
153         /// <summary>
154         /// 删除数据库中的数据
155         /// </summary>
156         static void DeleteSQL()
157         {
158             string connectStr = "server=127.0.0.1;port=3306;database=test;user=root;password=123456;SslMode=none;charset=utf8";
159             //并没有建立数据库连接
160             MySqlConnection conn = new MySqlConnection(connectStr);
161             try
162             {   //建立连接,打开数据库
163                 conn.Open();
164                 //注意一条SQL语句不要一条语句执行两次,会因为已存在而报错
165                 string sqlstr = "Delete from student where sno = 1105";   //SQL语句
166                 MySqlCommand cmd = new MySqlCommand(sqlstr, conn);
167                 int result = cmd.ExecuteNonQuery();   //返回值为执行后数据库中受影响的数据行数
168                 Console.WriteLine("执行成功,影响了{0}行数据", result);
169             }
170             catch (Exception ex)
171             {
172                 Console.WriteLine(ex.ToString());
173             }
174             finally
175             {
176                 conn.Close();   //关闭连接
177             }
178         }
179     }
180 }
原文地址:https://www.cnblogs.com/zquan/p/9727098.html