使用VS(C#) 对Mysql 进行操作

此篇博客提供了使用VS (C#语言)对Mysql数据库进行操作(增,删,改,查)的几个方法,并进行简单记录,,,

最后还写了一个用于检测数据库中是否包含有用户名和密码的实例方法

详细代码如下:

using System;
using MySql.Data.MySqlClient;   //导入引用,并且添加命名空间

namespace CSharpContextMysql_1
{
    class Program
    {       
        static void Main(string[] args)
        {

            //ReadSQL();
            //InsertSQL();
            //UpdateSQL();
            //DeleteSQL();
 
            Console.ReadKey();
        }

        /// <summary>
        /// 读取数据库中的数据
        /// </summary>
        static void ReadSQL()
        {
          string connectStr = "server=localhost;port=3306;database=czhenya01;user=root;password=123456;";
          //并没有建立数据库连接
          MySqlConnection conn = new MySqlConnection(connectStr);
            try
            {
                conn.Open();    //建立连接,打开数据库
                Console.WriteLine("打开数据库成功");

                string sqlstr = "select * from czhenya001";   //SQL语句
                MySqlCommand cmd = new MySqlCommand(sqlstr, conn);
                /* cmd.ExecuteReader();     //执行一些查询
                   cmd.ExecuteScalar();     //执行一些查询,返回一个单个的值
                   cmd.ExecuteNonQuery();   //插入删除   */

                //相当于数据读出流  理解为一本书
                MySqlDataReader reader = cmd.ExecuteReader();
                //reader.Read();  //读取下一页数据 ,读取成功,返回true,下一页没有数据则返回false表示到了最后一页

                while (reader.Read())   //遍历表中数据
                {
                    //读取并打印数据
                    reader.Read();
                    //索引是一行有几个数据
                    Console.WriteLine(reader[0].ToString() + reader[1].ToString() + reader[2].ToString() + reader[3].ToString());
                    //还可以使用Getxxx方式去写 参数(索引)
                    Console.WriteLine(reader.GetInt32(0) + reader.GetString(1) + reader.GetString(2));
                    //Getxxx方法的重载  参数(列名)
                    Console.WriteLine(reader.GetInt32("id") + reader.GetString("name") + reader.GetString("age"));
                }

            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
            finally
            {
                conn.Close();   //关闭连接
            }
        }

        /// <summary>
        /// 插入数据到数据库中
        /// </summary>
        static void InsertSQL()
        {
            string connectStr = "server=localhost;port=3306;database=czhenya01;user=root;password=123456;";
            //并没有建立数据库连接
            MySqlConnection conn = new MySqlConnection(connectStr);
            try
            {   //建立连接,打开数据库
                conn.Open();   
                //注意一条SQL语句不要一条语句执行两次,会因为已存在而报错
                string sqlstr = "insert into czhenya001(Id,Name) values('1006','ChenChen')";   //SQL语句
                MySqlCommand cmd = new MySqlCommand(sqlstr, conn);

                int result = cmd.ExecuteNonQuery();   //返回值为执行后数据库中受影响的数据行数
                Console.WriteLine("执行成功,影响了{0}行数据",result);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
            finally
            {
                conn.Close();   //关闭连接
            }
        }

        /// <summary>
        /// 修改数据库中数据
        /// </summary>
        static void UpdateSQL()
        {
            string connectStr = "server=localhost;port=3306;database=czhenya01;user=root;password=123456;";
            //并没有建立数据库连接
            MySqlConnection conn = new MySqlConnection(connectStr);
            try
            {   //建立连接,打开数据库
                conn.Open();
                //注意一条SQL语句不要一条语句执行两次,会因为已存在而报错
                string sqlstr = "update czhenya001 set Id ='2001',Name = 'FaFa' where Id = '1001' ";   //SQL语句
                MySqlCommand cmd = new MySqlCommand(sqlstr, conn);

                int result = cmd.ExecuteNonQuery();   //返回值为执行后数据库中受影响的数据行数
                Console.WriteLine("执行成功,影响了{0}行数据", result);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
            finally
            {
                conn.Close();   //关闭连接
            }
        }

        /// <summary>
        /// 删除数据库中的数据
        /// </summary>
        static void DeleteSQL()
        {
            string connectStr = "server=localhost;port=3306;database=czhenya01;user=root;password=123456;";
            //并没有建立数据库连接
            MySqlConnection conn = new MySqlConnection(connectStr);
            try
            {   //建立连接,打开数据库
                conn.Open();
                //注意一条SQL语句不要一条语句执行两次,会因为已存在而报错
                string sqlstr = "Delete from czhenya001 where Id = '1002' ";   //SQL语句
                MySqlCommand cmd = new MySqlCommand(sqlstr, conn);

                int result = cmd.ExecuteNonQuery();   //返回值为执行后数据库中受影响的数据行数
                Console.WriteLine("执行成功,影响了{0}行数据", result);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
            finally
            {
                conn.Close();   //关闭连接
            }
        }
    }
}


写了用于检测数据库中是否包含有用户名和密码的实例方法

详细代码如下:

using System;
using MySql.Data.MySqlClient;   //导入引用,并且添加命名空间

namespace CSharpContextMysql_2
{
    class Program
    {       
        static void Main(string[] args)
        {
            //ReadSQL();
            //InsertSQL();
            //UpdateSQL();
            //DeleteSQL();
            VerifyUSser("Czhenya", "adas");

            Console.ReadKey();
        }
        
        /// <summary>
        /// 验证用户名密码,存放回true,否则为false
        /// </summary>
        static bool VerifyUSser(string username,string password)
        {
            string connectStr = "server=localhost;port=3306;database=czhenya01;user=root;password=123456;";
            //并没有建立数据库连接
            MySqlConnection conn = new MySqlConnection(connectStr);
            try
            {   //建立连接,打开数据库
                conn.Open();
                //使用字符串组拼的方式(易出错)查询是否存用户名和密码的sql语句
                //string sqlstr = "select * from czhenya001 where username = '"+username +"' and password '"+password+"'";   
               

                string sqlstr = "select * from czhenya001 where username = @para1 and password = @para2";
                MySqlCommand cmd = new MySqlCommand(sqlstr, conn);
                //通过设置参数的形式给SQL 语句串值
                cmd.Parameters.AddWithValue("para1",username);
                cmd.Parameters.AddWithValue("para2",password);

                MySqlDataReader reader = cmd.ExecuteReader();
                if (reader.Read())
                {
                    return true;
                }
                return false;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
            finally
            {                
                conn.Close();   //关闭连接              
            }
            return false;
        }
    }
}

  • 10
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈言必行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值