mysql数据库帮助类

复制代码
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OA
{
    class MySQLHelper
    {

        /// <summary>
        /// 数据库位置. 本机为句点或是localhost. 远程服务器为IP地址或域名. 如果不是默认端口,则使用逗号分隔加在地址后面.
        /// </summary>
        public static string DataSource { get; set; } = "localhost";
        /// <summary>
        /// 要连接的目标数据库
        /// </summary>
        public static string DatabaseName { get; set; } = "oa";
        /// <summary>
        /// 连接数据库时使用的账号
        /// </summary>
        public static string DbUser { get; set; } = "oa";
        /// <summary>
        /// 连接数据库时使用的密码
        /// </summary>
        public static string DbPassword { get; set; } = "abcd1234";

        /// <summary>
        /// 连接串
        /// </summary>
        public static string ConnectionString
        {
            get
            {
                // return "Data Source=127.0.0.1;Database='oa';User id = 'root'; Password='';Charset='utf8';Allow Zero Datetime=True";
                return $"server={DataSource};port=3306;user={DbUser};password={DbPassword}; database={DatabaseName};Pooling=false;Charset='utf8';Allow Zero Datetime=True";
            }
        }

        private static MySqlConnection m_DbConnection = null;

        /// <summary>
        /// 打开数据库.
        /// </summary>
        public static void Open()
        {
            try
            {
                if (m_DbConnection == null) m_DbConnection = new MySqlConnection(ConnectionString);
                if (m_DbConnection.State == System.Data.ConnectionState.Closed) m_DbConnection.Open();
            }
            catch { throw new Exception("数据库连接失败,请确定是否打开。"); }
        }

        /// <summary>
        /// 关闭数据库.
        /// </summary>
        public static void Close()
        {
            if (m_DbConnection == null) return;
            if (m_DbConnection.State != System.Data.ConnectionState.Closed) m_DbConnection.Close();
        }

        /// <summary>
        /// 执行查询
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static int ExecuteNonQuery(string sql)
        {
            Close();
            Open();
            MySqlCommand dbCommand = new MySqlCommand(sql, m_DbConnection);
            int ret = dbCommand.ExecuteNonQuery();
            //dbCommand.Dispose();
            //Close();
            return ret;
        }

        /// <summary>
        /// 执行查询并返回结果集
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static MySqlDataReader ExecuteReader(string sql)
        {
            Close();
            Open();
            MySqlCommand oleDbCommand = new MySqlCommand(sql, m_DbConnection);
            //return oleDbCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
            return oleDbCommand.ExecuteReader();
        }


        public static object ExecuteScalar(string sql)
        {
            Close();
            Open();
            MySqlCommand dbCommand = new MySqlCommand(sql, m_DbConnection);
            object result = dbCommand.ExecuteScalar();
            //dbCommand.Dispose();
            //Close();
            return result;
        }
    }
}
复制代码

 

posted @   程序员一诺  阅读(61)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
历史上的今天:
2021-10-20 mysql 数据库返回日期 格式化
点击右上角即可分享
微信分享提示