• 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 }
  • 相关阅读:
    数据结构之查找算法总结笔记
    html的a链接的href怎样才另起一个页面
    深入理解CSS中的空白符和换行
    CSS文本方向
    alert()与console.log()的区别
    CSS旧版flex及兼容
    Java:类与继承
    Java中只有按值传递,没有按引用传递!
    String作为方法参数传递 与 引用传递
    Java:按值传递还是按引用传递详细解说
  • 原文地址:https://www.cnblogs.com/zquan/p/9727098.html
Copyright © 2020-2023  润新知