Mysql封装

3 篇文章 0 订阅

今天把之前的数据库项目改了改,能抽的都抽出来了,不过还差个删除操作没写,等具体有需要的时候再写吧。

感觉用自己写的东西还是满舒坦的。。

using System.Collections;
using System.Collections.Generic;
using System.Linq;
using MySql.Data.MySqlClient;
public class MySqlMgr {
    private static readonly MySqlMgr _Instance = new MySqlMgr();

    public static MySqlMgr Instance{
        get
        {
            return _Instance;
        }
    }
    public MySqlConnection connect;
    public MySqlCommand cmd;
    #region 连接数据库
    /// <summary>
    /// str 数据库名
    /// </summary>
    /// <param name="str"></param>
    public void Connet(string str)
    {
        string connectStr = "Database=" + str + ";" + "Data Source = 10.192.69.9 ;port=3306;UserId=root;Password=root";
        System.DateTime curDate = System.DateTime.Now;
        string data = curDate.Year + "年" + curDate.Month + "月" + curDate.Day + "日";
        connect = new MySqlConnection(connectStr);
        connect.Open();
    }
    #endregion
    #region 增
    /// <summary>
    /// baseName 数据库名
    /// tableName 表名
    /// key[]  传入添加的对应表项
    /// value[] 值
    /// </summary>
    /// <param name="baseName"></param>
    /// <param name="tableName"></param>
    /// <param name="key"></param>
    /// <param name="value"></param>
    public void Add(string baseName, string tableName, string[] key, string[] value)
    {
        string command = "INSERT INTO `" + baseName + "`.`" + tableName + "` (";
        bool isflag = false;
        foreach (var keyItem in key)
        {
            if (isflag)
                command += ",";
            command += "`" + keyItem + "`";
            isflag = true;
        }
        isflag = false;
        command += ") VALUES(";
        foreach (var valueItem in value)
        {
            if (isflag)
                command += ", ";
            command += "'" + valueItem + "'";
            isflag = true;
        }
        command += ")";
        cmd = new MySqlCommand(command, connect);
        cmd.ExecuteNonQuery();
    }
    #endregion
    #region 改 
    /// <summary>
    /// baseName数据库名, tableName表名,key value对应的修改项和值, wherekey wherevalue对应的修改哪里的项,值
    /// </summary>
    /// <param name="baseName"></param>
    /// <param name="tableName"></param>
    /// <param name="key"></param>
    /// <param name="value"></param>
    /// <param name="whereKey"></param>
    /// <param name="whereValue"></param>
    public void Update(string baseName, string tableName, string[] key, string[] value, string[] whereKey, string[] whereValue)
    {
        //UPDATE `test`.`user` SET `name`= '444', `tel`= '3333' WHERE `id`= '4';
        string command = "UPDATE `" + baseName + "`.`" + tableName + "` SET ";
        bool isflag = false;
        for (int index = 0; index < key.Count(); index++)
        {
            if (isflag) 
                command += ", ";
            command += "`" + key[index] + "`='" + value[index] + "'";
            isflag = true;
        }
        command += " WHERE ";
        isflag = false;
        for (int index = 0; index < whereKey.Count(); index++)
        {
            if (isflag)
                command += ", ";
            command += "`" + whereKey[index] + "`='" + whereValue[index] + "'";
            isflag = true;
        }
        cmd = new MySqlCommand(command, connect);
        cmd.ExecuteNonQuery();
    }

    #endregion
    #region 查找
    /// <summary>
    /// 查找表项, 查找对应的key值 ,返回一个obj的list
    /// </summary>
    /// <param name="tableName"></param>
    /// <param name="key"></param>
    /// <returns></returns>
    public ArrayList Search(string tableName, string[] key)
    {
        cmd = new MySqlCommand("select * from  "+tableName, MySqlMgr.Instance.connect);
        MySqlDataReader reader = cmd.ExecuteReader();
        ArrayList ans = new ArrayList();
        while (reader.Read())
        {
            string[] values = new string[key.Count()];
            string res = "";
            for (int index = 0; index < key.Count(); index++)
            {
                if (index != 0) res += " ";
                values[index] = reader.GetString(key[index]);
                res += values[index];
            }
            ans.Add(res); 
        }
        ans.Remove(ans[ans.Count-1]);
        reader.Close();
        return ans;
    }
    #endregion
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值