C#连接数据库

连接数据库需要引入MySql.Data.dll

数据库查询:

class Program
    {
        static void Main(string[] args)
        {
            string connStr = "Database=test;Data Source=127.0.0.1;port=3306;User Id = root;";
            MySqlConnection conn = new MySqlConnection(connStr);
            conn.Open();
            MySqlCommand cmd = new MySqlCommand("select * from user", conn);
            MySqlDataReader reader = cmd.ExecuteReader();
            while (reader.Read())
            {
                string username = reader.GetString("acc");
                string password = reader.GetString("pass");
                Console.WriteLine(username + ":" + password);
            }

            reader.Close();
            conn.Close();

            Console.ReadKey();
        }
    }

在这里插入图片描述
在这里插入图片描述

数据库插入

 class Program
    {
        static void Main(string[] args)
        {
            string connStr = "Database=test;Data Source=127.0.0.1;port=3306;User Id = root;";
            MySqlConnection conn = new MySqlConnection(connStr);
            conn.Open();
            
            string acc = "123";
            string pass = "123";
            MySqlCommand cmd = new MySqlCommand("insert into user set acc='"+acc+"' ,pass ='"+pass+"' ", conn);

            cmd.ExecuteNonQuery();

            conn.Close();

            Console.ReadKey();
        }
    }

在这里插入图片描述
以上代码会被SQL注入
例如:将pass改为 string pass = “123;delet from user”;
执行后将删除所有信息

解决办法:使用cmd.Parameters.AddWithValue添加参数

MySqlCommand cmd = new MySqlCommand("insert into user set acc = @acc,password=@pass", conn);
cmd.Parameters.AddWithValue("acc", 456);
cmd.Parameters.AddWithValue("pass", 456);

数据库删除

class Program
    {
        static void Main(string[] args)
        {
            string connStr = "Database=test;Data Source=127.0.0.1;port=3306;User Id = root;";
            MySqlConnection conn = new MySqlConnection(connStr);
            conn.Open();
            
            MySqlCommand cmd = new MySqlCommand("delete from user where id =@id", conn);
            cmd.Parameters.AddWithValue("id", 20);

            cmd.ExecuteNonQuery();
           
            conn.Close();

            Console.ReadKey();
        }
    }

数据库更新

class Program
    {
        static void Main(string[] args)
        {
            string connStr = "Database=test;Data Source=127.0.0.1;port=3306;User Id = root;";
            MySqlConnection conn = new MySqlConnection(connStr);
            conn.Open();
            
            MySqlCommand cmd = new MySqlCommand("update user set pass = @pass where id =10", conn);
            cmd.Parameters.AddWithValue("pass", "789");
            cmd.ExecuteNonQuery();
           
            conn.Close();

            Console.ReadKey();
        }
    }

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值