MySql数据库 - 5.用C#连接数据库

  1. 添加 dll 引用,dll 位置:C:\Program Files (x86)\MySQL\Connector NET 8.0\Assemblies\v4.5.2
  2. 引入命名空间:MySql.Data.MySqlClient
  3. 编写连接字符串,连接字符串内容包括:
    数据库名(database);ip 地址(datasource/data source);端口号(port);用户名(userid/user);密码(password/pwd)
  4. 创建一个用于动态链接的 MySqlConnection 变量
  5. 调用Open方法打开数据库连接
  6. 编写 增、删、改、查 语句
      a. 创建SQL语句
      b. 执行SQL语句
  7. 调用Close方法关闭数据库连接

示例代码:

using System;
using MySql.Data.MySqlClient;

namespace MYSQL数据库操作
{
    class Program
    {
        static void Main(string[] args)
        {
            // 连接字符串(该字符串不区分大小写):数据库名(database),ip地址(datasource/data source),端口号(port),用户名(userid/user),密码(password/pwd)
            string connStr = 
                "database = test007;" +
                "datasource = 127.0.0.1;" +
                "port = 3306;" +
                "userid =root;" +
                "password=root";
            // 用于动态链接的对象
            // 参数:需要填一个连接字符串
            MySqlConnection conn = new MySqlConnection(connStr);

            // 打开连接
            conn.Open();

            // 查询
            //SelectData(conn);
            // 插入数据
            //InsertData(conn);
            // 删除
            //DeleteData(conn);
            // 更新数据
            UpdateData(conn);

            conn.Close();   // 关闭时需要遵循 先开后关 的顺序。

            Console.ReadKey();
        }
        // 查询
        static void SelectData(MySqlConnection conn)
        {
            // 创建一个 MySql 对象(创建一个SQL命令)
            // 参数:SQL语句,Connector对象
            MySqlCommand cmd = new MySqlCommand("select * from user",conn);
            // 执行 SQL 命令(返回一个读取流)
            MySqlDataReader reader = cmd.ExecuteReader();
            // 判断Reader里面是否有数据 reader.HasRows
            // 调用 Read方法,表示读取一行记录(返回值:读取到数据返回 true,没有读取到数据返回false)
            while (reader.Read())
            {
                // 获得需要的数据
                string username = reader.GetString("username");
                string password = reader.GetString("password");
                // 打印读取到的数据
                Console.WriteLine(username + ":" + password);

            }
            // 关闭读取流,SQL 命令不需要关闭
            reader.Close();
            // 关闭和数据库的连接
        }

        // 插入
        static void InsertData(MySqlConnection conn)
        {
            // 定义用户名和IMA
            string username = "qqq";
            string password = "www";
            /*
            // 字符串组拼的方式插入数据,可能出现 SQL注入的问题
            MySqlCommand cmd = new MySqlCommand("insert into user set username = '" + username + 
                                                "',password = '" + password + "'",conn);
            */
            // 针对以上问题的解决方案
            MySqlCommand cmd = new MySqlCommand("insert into user set username = @un, password = @pwd", conn);
            cmd.Parameters.AddWithValue("un", username);
            cmd.Parameters.AddWithValue("pwd", password);

            cmd.ExecuteNonQuery();
        }

        // 删除
        static void DeleteData(MySqlConnection conn)
        {
            int id = 3;
            MySqlCommand cmd = new MySqlCommand("delete from user where id = @id", conn);
            cmd.Parameters.AddWithValue("id", id);

            cmd.ExecuteNonQuery();
        }

        // 更新数据
        static void UpdateData(MySqlConnection conn)
        {
            string password = "123456789";
            MySqlCommand cmd = new MySqlCommand("update user set password = @pwd where id = 1",conn);
            cmd.Parameters.AddWithValue("pwd", password);
            cmd.ExecuteNonQuery();
        }
    }
}

猜你喜欢

转载自www.cnblogs.com/kao-la-bao-bei/p/9231807.html