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

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

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

详细代码如下:

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

namespace CSharp连接Mysql
{
    class Program
    {       
        static void Main(string[] args)
        {

            //ReadSQL();
            //InsertSQL();
            //UpdateSQL();
            //DeleteSQL();
            VerifyUSser("Czhenya", "adas");

            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();   //关闭连接
            }
        }

        /// <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;
        }
    }
}

猜你喜欢

转载自blog.csdn.net/czhenya/article/details/78490155