C#对MySQL数据库进行增删改查操作(该操作还有防止MySQL注入功能)

使用C#操作MySQL数据库需要注意的问题是要引用mysql.data.dll数据库文件,同时也要注意当前使用的VS版本,如果是VS2010以上的版本,建议使用高版本(4.0版本)的mysql.data.dll,反之,则使用低版本(2.0版本)的mysql.data.dll。同时也要注意当前使用的MySQL版本和mysql.data.dll版本相接近,防止代码编译的时候出错或是结果不对。
在这里插入图片描述
这是我使用MySQL Workbench所创建出来的数据库:
数据库名称test007,表名user,表中的字段有主键的字段id(已经设置自动增长AI),以及普通字段的username和password三个字段。
在这里插入图片描述
接下来,重头戏来了,就是我使用C#对数据库的增删改查操作:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MySql.Data.MySqlClient;
using System.Data;

namespace 数据库连接
{
    
    
    class Program
    {
    
    
        static void Main(string[] args)
        {
    
    
        	/*Database就是要连接的数据库;Data Source=127.0.0.1就是指的本机的IP地址;
        	port指的是MySQL安装的时候所指定的端口号;user就是登陆MySQL时候的用户名;
        	pwd就是指登陆MySQL时候的密码;charset指的是设置数据库的编码格式*/
            string connStr = "Database=test007;Data Source=127.0.0.1;port=3306;user=okok;pwd=1234;charset=utf8;";
            //构建MySQL连接
            MySqlConnection conn = new MySqlConnection(connStr);

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

            #region 数据库查询
            //数据库连接应该执行的语句
           /* MySqlCommand cmd = new MySqlCommand("select * from user", conn);

            //从数据库中读出数据
            MySqlDataReader reader = cmd.ExecuteReader();

            //reader.HasRows是判断要读出的行是不是存在数据     每次读出一行返回true,如果这一行没数据的话返回false
            while(reader.Read())
            { 
                //数据每次读出一行,就调用一次Read()方法
                string username = reader.GetString("username");
                string password = reader.GetString("password");
                Console.WriteLine(username + ":" + password);
            }

            reader.Close();*/
            #endregion

            #region   数据库插入
            //string w1 = "addwe";
            //string w2 = "efffd";       
            这种方式插入的数据,还存在SQL注入的问题,就是变量有可能就是一个SQL命令  这种方式不推荐使用
            MySqlCommand cmd = new MySqlCommand("insert into user set username = ' "+username+" ' "+",password=' " + password + " ' ",conn);

            //MySqlCommand cmd = new MySqlCommand("insert into user set username = @a1 , password = @a2 ", conn);

            cmd.Parameters["a1"].Value = username;
            //cmd.Parameters.AddWithValue("a1",w1);

            cmd.Parameters["a2"].Value = password;
            //cmd.Parameters.AddWithValue("a2",w2);

            //cmd.ExecuteNonQuery();
            #endregion

            #region 数据库删除
            //MySqlCommand cmd = new MySqlCommand("delete from user where id = @id", conn);
            //cmd.Parameters.AddWithValue("id", 19);

            //cmd.ExecuteNonQuery();
            #endregion

            #region     数据库修改
            MySqlCommand cmd = new MySqlCommand("update user set password=@pwd where id = 20", conn);

            cmd.Parameters.AddWithValue("@pwd", "111");

            cmd.ExecuteNonQuery();
            #endregion

            conn.Close();

            Console.ReadKey();
        }
    }


}

猜你喜欢

转载自blog.csdn.net/jianjianshini/article/details/107239710