c#操作mysql之美

案例一:

using System;
using System.Configuration;
using MySql.Data.MySqlClient;

public class Test
{
 
    public static void Main(String[] args)
    {
        MySqlConnection mysql = getMySqlCon();
        //查询sql
        String sqlSearch = "select * from student";
        //插入sql
        String sqlInsert = "insert into student values (12,'张三',25,'大专')";
        //修改sql
        String sqlUpdate = "update student set name='李四' where id= 3";
        //删除sql
        String sqlDel = "delete from student where id = 12";
        //打印SQL语句
        Console.WriteLine(sqlDel);
        //四种语句对象
        //MySqlCommand mySqlCommand = getSqlCommand(sqlSearch, mysql);
        //MySqlCommand mySqlCommand = getSqlCommand(sqlInsert, mysql);
        //MySqlCommand mySqlCommand = getSqlCommand(sqlUpdate, mysql);
        MySqlCommand mySqlCommand = getSqlCommand(sqlDel, mysql);
        mysql.Open();
        //getResultset(mySqlCommand);
        //getInsert(mySqlCommand);
        //getUpdate(mySqlCommand);
        getDel(mySqlCommand);
        //记得关闭
        mysql.Close();
       String readLine = Console.ReadLine();
    }
    /// <summary>
    /// 建立mysql数据库链接
    /// </summary>
    /// <returns></returns>
    public static MySqlConnection getMySqlCon()
    {
        String mysqlStr = "Database=test;Data Source=127.0.0.1;User Id=root;Password=root;pooling=false;CharSet=utf8;port=3306";
        // String mySqlCon = ConfigurationManager.ConnectionStrings["MySqlCon"].ConnectionString;
        MySqlConnection mysql = new MySqlConnection(mysqlStr);
        return mysql;
    }
    /// <summary>
    /// 建立执行命令语句对象
    /// </summary>
    /// <param name="sql"></param>
    /// <param name="mysql"></param>
    /// <returns></returns>
    public static MySqlCommand getSqlCommand(String sql,MySqlConnection mysql)
    {
        MySqlCommand mySqlCommand = new MySqlCommand(sql, mysql);
        //  MySqlCommand mySqlCommand = new MySqlCommand(sql);
        // mySqlCommand.Connection = mysql;
        return mySqlCommand;
    }
    /// <summary>
    /// 查询并获得结果集并遍历
    /// </summary>
    /// <param name="mySqlCommand"></param>
    public static void getResultset(MySqlCommand mySqlCommand)
    {
        MySqlDataReader reader = mySqlCommand.ExecuteReader();
        try
        {
            while (reader.Read())
            {
                if (reader.HasRows)
                {
                    Console.WriteLine("编号:" + reader.GetInt32(0) + "|姓名:" + reader.GetString(1) + "|年龄:" + reader.GetInt32(2) + "|学历:" + reader.GetString(3));
                }
            }
        }
        catch (Exception)
        {

 

            Console.WriteLine("查询失败了!");
        }
        finally
        {
            reader.Close();
        }
    }
    /// <summary>
    /// 添加数据
    /// </summary>
    /// <param name="mySqlCommand"></param>
    public static void getInsert(MySqlCommand mySqlCommand)
    {
        try
        {
            mySqlCommand.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            String message = ex.Message;
            Console.WriteLine("插入数据失败了!" + message);
        }

    }
    /// <summary>
    /// 修改数据
    /// </summary>
    /// <param name="mySqlCommand"></param>
    public static void getUpdate(MySqlCommand mySqlCommand)
    {
        try
        {
            mySqlCommand.ExecuteNonQuery();
        }
        catch (Exception ex)
        {

            String message = ex.Message;
            Console.WriteLine("修改数据失败了!" + message);
        }
    }
    /// <summary>
    /// 删除数据
    /// </summary>
    /// <param name="mySqlCommand"></param>
    public static void getDel(MySqlCommand mySqlCommand)
    {
        try
        {
            mySqlCommand.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            String message = ex.Message;
            Console.WriteLine("删除数据失败了!" + message);
        }
    }
}
案例二:

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

namespace MySQL_Using
{
    class Program
    {
        static void Main(string[] args)
        {
            //数据库名为test1
    //   String mysqlStr = "Database=自己的数据库名;Data Source=127.0.0.1;User Id=改为自己;Password=自己的密码;pooling=false;CharSet=utf8;port=3306";

            String mysqlStr = "Database=test1;Data Source=127.0.0.1;User Id=root;Password=123456;pooling=false;CharSet=utf8;port=3306";
            //MySql连接类
            MySqlConnection mysql = new MySqlConnection(mysqlStr);
            //查询sql
            //account表格
            String abc = "account";
            String sqlSearch = "select * from ";
            sqlSearch = sqlSearch + abc;

            //sql 插入数据
            String sqlinsert = "insert into account values(5,'pyq','pyq')";

            //MySql的命令类
            //查询语句
            MySqlCommand mySqlCommand = new MySqlCommand(sqlSearch, mysql);

            //插入数据
           // MySqlCommand mySqlCommand = new MySqlCommand(sqlinsert, mysql);

            //打开连接
            mysql.Open();           
            //建立流
            //数据读取类
            MySqlDataReader reader = mySqlCommand.ExecuteReader();
            try
            {//每次读取一个字节
                while (reader.Read())
                {
                    if (reader.HasRows)//是否读取完一行
                    {
                        //从数据库读取的数据要进行类型转换
                        //0,1,2,表示在数据库表中的位置
                        Console.WriteLine("ID:" + reader.GetInt32(0) + "|账号:" + reader.GetString(1) + "|密码:" + reader.GetString(2));
                    }
                }
            }
            catch (Exception)
            {
                Console.WriteLine("查询失败了!");
            }
            finally
            {
                reader.Close();//关闭流
            }

            mysql.Close();
            Console.Read();
        }
        /// <summary>
        /// 建立mysql数据库链接
        /// </summary>
        /// <returns></returns>
        public static MySqlConnection getMySqlCon()
        {
            String mysqlStr = "Database=test1;Data Source=127.0.0.1;User Id=root;Password=123456;pooling=false;CharSet=utf8;port=3306";
            // String mySqlCon = ConfigurationManager.ConnectionStrings["MySqlCon"].ConnectionString;
            MySqlConnection mysql = new MySqlConnection(mysqlStr);
            return mysql;
        }
        /// <summary>
        /// 建立执行命令语句对象
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="mysql"></param>
        /// <returns></returns>
        public static MySqlCommand getSqlCommand(String sql, MySqlConnection mysql)
        {
            MySqlCommand mySqlCommand = new MySqlCommand(sql, mysql);

            //  MySqlCommand mySqlCommand = new MySqlCommand(sql);
            // mySqlCommand.Connection = mysql;
            return mySqlCommand;
        }
        /// <summary>
        /// 查询并获得结果集并遍历
        /// </summary>
        /// <param name="mySqlCommand"></param>
        public static void getResultset(MySqlCommand mySqlCommand)
        {
            MySqlDataReader reader = mySqlCommand.ExecuteReader();
            try
            {
                while (reader.Read())
                {
                    if (reader.HasRows)
                    {
                        Console.WriteLine("编号:" + reader.GetInt32(0) + "|姓名:" + reader.GetString(1) + "|年龄:" + reader.GetString(2));
                    }
                }
            }
            catch (Exception)
            {
                Console.WriteLine("查询失败了!");
            }
            finally
            {
                reader.Close();
            }
        }
        /// <summary>
        /// 添加数据
        /// </summary>
        /// <param name="mySqlCommand"></param>
        public static void getInsert(MySqlCommand mySqlCommand)
        {
            try
            {
                mySqlCommand.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                String message = ex.Message;
                Console.WriteLine("插入数据失败了!" + message);
            }

        }
        /// <summary>
        /// 修改数据
        /// </summary>
        /// <param name="mySqlCommand"></param>
        public static void getUpdate(MySqlCommand mySqlCommand)
        {
            try
            {
                mySqlCommand.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                String message = ex.Message;
                Console.WriteLine("修改数据失败了!" + message);
            }
        }
        /// <summary>
        /// 删除数据
        /// </summary>
        /// <param name="mySqlCommand"></param>
        public static void getDel(MySqlCommand mySqlCommand)
        {
            try
            {
                mySqlCommand.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                String message = ex.Message;
                Console.WriteLine("删除数据失败了!" + message);
            }
        }
    }
}

   添加引用MySql.Data.dll

        users表如图

        

        image表如图

案例三:

using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
using System.Drawing.Imaging;

namespace CSharp直接连接MySQL
{
    class Program
    {
        static void Main(string[] args)
        {
            //Read();
            //Insert();
            //Update();
            //Delete();
            // ReadUsersCount();
            //ExcuteScalar();

            /*
            Console.WriteLine( VerifyUser("wangjun", "45"));
            Console.WriteLine(VerifyUser("ee", "ewert"));
            Console.ReadKey();*/


            //SaveImageToDB();

            LoadImageFromDB();
        }

        /// <summary>
        /// 读取数据库中数据
        /// </summary>
        static void Read()
        {
            string connectStr = "server=127.0.0.1;port=3306;database=mygamedb;user=root;password=root;";
            MySqlConnection conn = new MySqlConnection(connectStr);//仍还没有建立连接

            try
            {
                conn.Open();//建立连接

                string sql = "select * from users";//sql语句

                MySqlCommand cmd = new MySqlCommand(sql, conn);//建立命令

                /*********SQL操作**************************************************
                /**    cmd.ExecuteReader();//执行一些查询                       ***
                /**    cmd.ExecuteNonQuery();//插入 修改 删除                   ***
                /**    cmd.ExecuteScalar();//执行一些查询,返回一个单个的值     ***
                ******************************************************************/

                MySqlDataReader reader = cmd.ExecuteReader();//执行一些查询

                /*单行读取*************************
                reader.Read();//调用一次读得数据一行数据,如果读取成功返回true(此处为第一行)
                //reader[0]表示第一行的第一列数据
                Console.WriteLine(reader[0].ToString() + "," + reader[1].ToString() + "," + reader[2].ToString());

                reader.Read();//调用一次读得数据一行数据(此处为第2行)
                //reader[0]表示第2行的第一列数据
                Console.WriteLine(reader[0].ToString() + "," + reader[1].ToString() + "," + reader[2].ToString());
                **************************************/

                while (reader.Read())//整个表读取完
                {
                    //Console.WriteLine(reader[0].ToString() + "," + reader[1].ToString() + "," + reader[2].ToString());//第一种通过reader[i]得到列
                    //Console.WriteLine(reader.GetInt32(0) + "," + reader.GetString(1) + "," + reader.GetString(2));//第二种,通过列的索引(从0开始),并按所在列的值类型得到
                    Console.WriteLine(reader.GetInt32("id") + "," + reader.GetString("username") + "," + reader.GetString("password"));//第3种,通过列的名字,并按所在列的值类型得到

                }
                Console.WriteLine("已经建立连接");
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
            finally
            {
                conn.Close();
            }
            Console.ReadKey();
         }

        /// <summary>
        /// 插入数据
        /// </summary>
        static void Insert()
        {
            string connectStr = "server=127.0.0.1;port=3306;database=mygamedb;user=root;password=root;";
            MySqlConnection conn = new MySqlConnection(connectStr);//仍还没有建立连接

            try
            {
                conn.Open();//建立连接
                Console.WriteLine("已经建立连接");

                //string sql = "insert into users(username,password) values('6-14u','88888')";//sql语句
                string sql = "insert into users(username,password,registerdate) values('e14u','11111','"+DateTime.Now+"')";//sql语句

                MySqlCommand cmd = new MySqlCommand(sql, conn);//建立命令

               int result= cmd.ExecuteNonQuery();//返回int值,影响了几行

                Console.WriteLine("插入成功,影响" + result + "行");
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
            finally
            {
                conn.Close();
            }
            Console.ReadKey();
        }

        /// <summary>
        /// 修改数据
        /// </summary>
        static void Update()
        {
            string connectStr = "server=127.0.0.1;port=3306;database=mygamedb;user=root;password=root;";
            MySqlConnection conn = new MySqlConnection(connectStr);//仍还没有建立连接

            try
            {
                conn.Open();//建立连接
                Console.WriteLine("已经建立连接");

                //string sql = "insert into users(username,password) values('6-14u','88888')";//sql语句
                string sql = "update users set username='WANGJUN',password='WANGJUN' where id=2";//sql语句

                MySqlCommand cmd = new MySqlCommand(sql, conn);//建立命令

                int result = cmd.ExecuteNonQuery();//返回int值,影响了几行

                Console.WriteLine("修改成功,影响" + result + "行");
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
            finally
            {
                conn.Close();
            }
            Console.ReadKey();
        }

        /// <summary>
        /// 删除数据
        /// </summary>
        static void Delete()
        {
            string connectStr = "server=127.0.0.1;port=3306;database=mygamedb;user=root;password=root;";
            MySqlConnection conn = new MySqlConnection(connectStr);//仍还没有建立连接

            try
            {
                conn.Open();//建立连接
                Console.WriteLine("已经建立连接");

                //string sql = "insert into users(username,password) values('6-14u','88888')";//sql语句
                string sql = "delete from users where id=7";//sql语句

                MySqlCommand cmd = new MySqlCommand(sql, conn);//建立命令

                int result = cmd.ExecuteNonQuery();//返回int值,影响了几行

                Console.WriteLine("删除成功,影响" + result + "行");
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
            finally
            {
                conn.Close();
            }
            Console.ReadKey();
        }

        /// <summary>
        /// 获取行数
        /// </summary>
        static void ReadUsersCount()
        {
            string connectStr = "server=127.0.0.1;port=3306;database=mygamedb;user=root;password=root;";
            MySqlConnection conn = new MySqlConnection(connectStr);//仍还没有建立连接

            try
            {
                conn.Open();//建立连接
                Console.WriteLine("已经建立连接");

                string sql = "select count(*) from users";//sql语句

                MySqlCommand cmd = new MySqlCommand(sql, conn);//建立命令

                MySqlDataReader reader = cmd.ExecuteReader();//执行一些查询

                reader.Read();

                int count = Convert.ToInt32(reader[0].ToString());
                Console.WriteLine(count);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
            finally
            {
                conn.Close();
            }
            Console.ReadKey();
        }

        /// <summary>
        /// 获取行数
        /// </summary>
        static void ExcuteScalar()
        {
            string connectStr = "server=127.0.0.1;port=3306;database=mygamedb;user=root;password=root;";
            MySqlConnection conn = new MySqlConnection(connectStr);//仍还没有建立连接

            try
            {
                conn.Open();//建立连接
                Console.WriteLine("已经建立连接");

                string sql = "select count(*) from users";//sql语句

                MySqlCommand cmd = new MySqlCommand(sql, conn);//建立命令

                object o = cmd.ExecuteScalar();
                
                Console.WriteLine(Convert.ToUInt32( o.ToString()));
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
            finally
            {
                conn.Close();
            }
            Console.ReadKey();
        }

        /// <summary>
        /// 传递参数,验证账号和密码在数据库中是否存在
        /// </summary>
        /// <param name="username">账户</param>
        /// <param name="password">密码</param>
        /// <returns></returns>
        static bool VerifyUser(string username,string password)
        {
            string connectStr = "server=127.0.0.1;port=3306;database=mygamedb;user=root;password=root;";
            MySqlConnection conn = new MySqlConnection(connectStr);//仍还没有建立连接

            try
            {
                conn.Open();//建立连接
                Console.WriteLine("已经建立连接");

                //**********第一种,将参数传递到SQL语句中,按查询条件组拼**************************
                //string sql = "select * from users where username='"+username+"' and password='"+password+"'";//sql语句

                //***********第二种,在SQL语句中定义参数,然后用命令设置参数(用AddWithValue)************************
                string sql = "select * from users where username=@para1 and password=@para2";//sql语句

                MySqlCommand cmd = new MySqlCommand(sql, conn);//建立命令
                cmd.Parameters.AddWithValue("para1", username);
                cmd.Parameters.AddWithValue("para2", password);

                MySqlDataReader reader =cmd.ExecuteReader();

                while (reader.Read())
                {
                    return true;
                }
            }

            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
            finally
            {
                conn.Close();
            }
            return false;
        }

        /// <summary>
        /// 向数据库中上传(插入)图片,图片放于工程目录下
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        static void SaveImageToDB()
        {
            byte[] imagebytes = null;
            string path = "imageTest.jpg";

            FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
            BinaryReader br = new BinaryReader(fs);
            imagebytes = br.ReadBytes((int)fs.Length);

            string connectStr = "server=127.0.0.1;port=3306;database=mygamedb;user=root;password=root;";
            MySqlConnection conn = new MySqlConnection(connectStr);//仍还没有建立连接

            try
            {
                conn.Open();//建立连接
                Console.WriteLine("已经建立连接");

                string sql = "insert into image(imagefile,imagedata) values(@para1,@para2)";//sql语句

                MySqlCommand cmd = new MySqlCommand(sql, conn);//建立命令
                cmd.Parameters.AddWithValue("para1", "image1");
                cmd.Parameters.AddWithValue("para2", imagebytes);
                

                int result = cmd.ExecuteNonQuery();//返回int值,影响了几行

                Console.WriteLine("插入图片成功,影响" + result + "行");
            }

            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
            finally
            {
                conn.Close();
            }
            Console.ReadKey();
        }

        static void LoadImageFromDB()
        {
            byte[] imagebytes = null;
            
            string connectStr = "server=127.0.0.1;port=3306;database=mygamedb;user=root;password=root;";
            MySqlConnection conn = new MySqlConnection(connectStr);//仍还没有建立连接

            try
            {
                conn.Open();//建立连接
                Console.WriteLine("已经建立连接");

                string sql = "select imagefile,imagedata from image where imagefile='image1'";//sql语句

                MySqlCommand cmd = new MySqlCommand(sql, conn);//建立命令
                
                MySqlDataReader reader = cmd.ExecuteReader();
                if (reader.Read())
                {
                    
                    imagebytes = (byte[])reader[1];
                }
                MemoryStream ms = new MemoryStream(imagebytes);
                System.Drawing.Image image = System.Drawing.Image.FromStream(ms);
                image.Save("D:\\");
                Console.WriteLine("读取图片成功");
            }

            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
            finally
            {
                conn.Close();
            }
            Console.ReadKey();
        }
    }
}

通过上面三个案例,C#操作Mysql就掌握的差不多了。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

嘿克不黑

你的鼓励是我的最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值