C#连接mysql数据库帮助类-MysqlDblHelper

这是一个C#帮助类示例,用于连接并操作MySQL数据库,包括增删改查和二进制数据上传。提供了ExecuteNonQuery、ExecuteScalar、GetTable和Binary等方法,适用于简单的数据库交互场景。
摘要由CSDN通过智能技术生成

C#连接MySQL数据库帮助类-MysqlDblHelper

帮助类代码如下:

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

namespace Demo
{
    class MysqlDblHelper
    {
        //连接数据库
        static string connectionStrings = "server=127.0.0.1;port=3306;user=root;password=root;database=test;sslmode=none;charset=utf8;";
        static MySqlConnection conn = new MySqlConnection(connectionStrings);

        private static void InitConn()
        {
            if (conn.State == ConnectionState.Closed)
            {
                conn.Open();
            }
            else if (conn.State == ConnectionState.Broken)
            {
                conn.Close();
                conn.Open();
            }
        }

        //增删改
        public static bool ExecuteNonQuery(string sqlStr)
        {
            InitConn();
            MySqlCommand cmd = new MySqlCommand(sqlStr, conn);
            int result = cmd.ExecuteNonQuery();
            conn.Close();
            return result > 0;
        }

        //执行集合函数
        public static object ExecuteScalar(string sqlStr)
        {
            InitConn();
            MySqlCommand cmd = new MySqlCommand(sqlStr, conn);
            object result = cmd.ExecuteScalar();
            conn.Close();
            return result;
        }

        //查询,获取DataTable
        public static DataTable GetTable(string sqlStr)
        {
            InitConn();
            MySqlCommand cmd = new MySqlCommand(sqlStr);
            cmd.Connection = conn;
            MySqlDataAdapter da = new MySqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            da.Fill(dt);
            conn.Close();
            return dt;
        }

        //二进制数据增删改
        public static bool Binary(string sqlStr, Dictionary<string, byte[]> parameters)
        {
            InitConn();
            MySqlCommand cmd = new MySqlCommand(sqlStr, conn);
            int i = 0;
            foreach (KeyValuePair<string, byte[]> kvp in parameters)
            {
                cmd.Parameters.Add("@" + kvp.Key, MySqlDbType.LongBlob);
                cmd.Parameters[i].Value = kvp.Value;
                i++;
            }
            int result = cmd.ExecuteNonQuery();
            conn.Close();
            return result > 0;
        }
    }
}

使用方法:

//这里仅举例带文件的数据上传数据库   musicUploadZip和videoUploadZip为要上传文件的路径
string sqlStr = "insert into user (name,music,video) values ('张三',@music,@video);";
Dictionary<string, byte[]> parameters = new Dictionary<string, byte[]>();
parameters.Add("music", File.ReadAllBytes(musicUploadZip));
parameters.Add("video", File.ReadAllBytes(videoUploadZip));
if (MysqlDblHelper.Binary(sqlStr, parameters))
{
    MessageBox.Show("上传成功");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值