C# 操作mysql数据库

 该文讲解 C# 对 mysql 数据库进行增删改查操作。

  1.  安装数据库,注意要安装 Connector NET。

  2.  引入 MySql.Data.dll,添加项目引用,该文件一般位置为:C:\Program Files (x86)\MySQL\Connector NET xx\Assemblies\v xx(由 mysql 安装位置决定)。

  3.  在 MySQL Workbench 中添加测试表,本例创建了一个数据库 test,并在该数据库中创建了一个 user 表,表中有 username 和 password 两个表项,如下:

  

  4. 对数据库进行增删改查,C# 代码如下:

using System;
using MySql.Data.MySqlClient;

namespace MySQL数据库操作
{
    class Program
    {
        static void Main(string[] args)
        {
            // 数据库配置
            string connStr = "Database=test;datasource=127.0.0.1;port=3306;user=root;pwd=root;";
            MySqlConnection conn = new MySqlConnection(connStr);

            conn.Open();

            #region 查询
//            // 查询user表中所有条目
//            MySqlCommand cmd = new MySqlCommand("select * from user", conn);
//
//            MySqlDataReader reader = cmd.ExecuteReader();
//
//            // 逐行读取数据
//            while (reader.Read())
//            {
//                string username = reader.GetString("username");
//                string password = reader.GetString("password");
//                Console.WriteLine(username + ":" + password);
//            }
//
//            reader.Close();
            #endregion

            #region 插入
//            // 正常插入一条数据
//            string username = "lj";string password = "6666";
//            MySqlCommand cmd = new MySqlCommand("insert into user set username ='" + username + "'" + ",password='" + password + "'", conn);
//            cmd.ExecuteNonQuery();
            
//            // sql 注入,会删除数据库
//            string username = "lj"; string password = "6666'; delete from user;";
//            MySqlCommand cmd = new MySqlCommand("insert into user set username ='" + username + "'" + ",password='" + password + "'", conn);
//            cmd.ExecuteNonQuery();

//            // 防止注入,不会执行删除数据库语句
//            string username = "lj"; string password = "6666'; delete from user;";
//            MySqlCommand cmd = new MySqlCommand("insert into user set username=@uid , password = @pwd", conn);
//            cmd.Parameters.AddWithValue("uid", username);
//            cmd.Parameters.AddWithValue("pwd", password);
//            cmd.ExecuteNonQuery();
            #endregion

            #region 删除
//            // 删除 id 为 6 的条目
//            MySqlCommand cmd = new MySqlCommand("delete from user where id = @id", conn);
//            cmd.Parameters.AddWithValue("id", 6);
//
//            cmd.ExecuteNonQuery();
            #endregion

            #region 更新
            // 将 id 为 7 的条目 pwd 修改为 lll
            MySqlCommand cmd = new MySqlCommand("update user set password = @pwd where id = 7", conn);
            cmd.Parameters.AddWithValue("pwd", "lll");

            cmd.ExecuteNonQuery();
            #endregion

            conn.Close();

            Console.ReadKey();
        }
    }
}

 

posted @ 2018-08-17 16:16  夜雨声烦丶  阅读(522)  评论(0编辑  收藏  举报