天下

记录修行的印记

MySQL简单封装

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
using System.Xml;
using Row = System.Collections.Generic.Dictionary<stringstring>;

namespace NeowayFixPlatform
{
    
    class MysqlFunction
    {
        public static string table_fix = "nw_fix_record";

        public bool IsConnected()
        {
            return (mysql.State == ConnectionState.Open);
        }
        public MysqlFunction()
        {
            if (mysql.State != ConnectionState.Open)
                mysql.Open();
        }

        ~MysqlFunction()
        {
            if (mysql.State == ConnectionState.Open)
                mysql.Dispose();
        }
        private static String mysqlcon = GetConfigString();
        MySqlConnection mysql = new MySqlConnection(mysqlcon);


        public string quote(ref string value)
        {
            value = value.Replace(@"\", @"\\").Replace("'", @"\'");
            return value;
        }
        public StringBuilder quote(ref StringBuilder value)
        {
            value = value.Replace(@"\", @"\\").Replace("'", @"\'");
            return value;
        }

        public StringBuilder GetPairSQLString(Row row)
        {
            StringBuilder strSQL = new StringBuilder();

            foreach (KeyValuePair<stringstring> pair in row)
            {
                string value = pair.Value.ToString();
                this.quote(ref value);
                strSQL.AppendFormat("{0}='{1}',", pair.Key, value);
            }
            strSQL.Remove(strSQL.Length-1, 1);
            return strSQL;
        }


        public bool UpdateOne(string table,Row row,string format,params object[] args)
        {
            StringBuilder condition = new StringBuilder();
            condition.AppendFormat(format, args);
            return this.UpdateOne(table, row, condition.ToString());
        }


        public bool UpdateOne(string strTable, Row row, string strQuery)
        {
            StringBuilder strSQL = new StringBuilder();
            try
            {
                strSQL.AppendFormat("UPDATE {0} set {1} WHERE {2} LIMIT 1", strTable, GetPairSQLString(row), strQuery);
                //mysql.Open();
                MySqlCommand cmd = new MySqlCommand(strSQL.ToString(), mysql);
                cmd.ExecuteNonQuery();
                cmd.Dispose();
                return true;
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            return false;
        }
        

        public Row FetchOne(string strSQL)
        {
            Row row = new Row();
            try
            {
                
                //mysql.Open();
                MySqlCommand cmd = new MySqlCommand(strSQL.ToString(),mysql);
                MySqlDataReader reader = cmd.ExecuteReader();
                reader.Read();
                for (int i = 0; i < reader.FieldCount; i++)
                {
                    if (reader.HasRows)
                        row[reader.GetName(i)] = reader[i].ToString();
                }
                reader.Close();
                cmd.Dispose();
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            return row;
        }


        #region 获取登陆字符
        /// <summary>
        
/// 获取登陆字符
        
/// </summary>
        
/// <returns></returns>
        public static string GetConfigString()
        {
            string spath = Application.StartupPath;
            spath += "\\config.xml";
            XmlDocument xml = new XmlDocument();
            xml.Load(spath);
            XmlNode config = xml.SelectSingleNode("config");
            XmlNode dbname = config.SelectSingleNode("dbname");
            XmlNode ipaddr = config.SelectSingleNode("ipaddr");
            XmlNode username = config.SelectSingleNode("username");
            XmlNode password = config.SelectSingleNode("password");

            return string.Format("database={0};Password={1};User ID={2};server={3}", dbname.InnerText, password.InnerText, username.InnerText, ipaddr.InnerText);
            
        }
        #endregion



        public bool BindData(string sql,ref DataGridView dgv)
        {
            DataSet dataset = new DataSet();
            DataTable datatable = new DataTable();
            try
            {
                MySqlDataAdapter mdap = new MySqlDataAdapter(sql, mysql);
                mdap.Fill(dataset);
                datatable = dataset.Tables[0];
                dgv.DataSource = datatable;
                return true;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            return false;
        }


        #region 用户登录
        /// <summary>
        
/// 系统登录
        
/// </summary>
        
/// <returns></returns>
        public bool Login(cUserInfo userinfo)
        {
            DataSet dataset = new DataSet();
            DataTable datatable = new DataTable();
            try
            {
                //MySqlDataAdapter 数据库执行函数,查询,插入,删除都可使用
               MySqlDataAdapter mdap = new MySqlDataAdapter("select * from nw_user where user_name = '" + userinfo.User_name + "' and user_pwd = '" + userinfo.User_password + "'", mysql);
               mdap.Fill(dataset);
               datatable = dataset.Tables[0];

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            if (datatable.Rows.Count == 1)
            {
                DataRow datarow = datatable.Rows[0];
                userinfo.User_power = datarow["user_power"].ToString();
                return true;
            }
            return false;
 
        }
        #endregion

        public bool SaveFix(Dictionary<string,string> row,bool bNew)
        {
            StringBuilder strSQL = new StringBuilder();
            try
            {
                if (bNew)
                    strSQL.Append("INSERT INTO nw_fix_record set ");
                else
                    strSQL.Append("UPDATE nw_fix_record set ");
                strSQL.AppendFormat("{0}",GetPairSQLString(row));

                if (!bNew)
                {
                    strSQL.AppendFormat(" WHERE IMEI_MEID='{0}' limit 1", row["IMEI_MEID"]);
                }
                //mysql.Open();

                MySqlCommand cmd = new MySqlCommand(strSQL.ToString(), mysql);
                cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return false;
            }
            return true;
        }

        #region 获取所有产品型号
        /// <summary>
        
/// 获取所有产品型号
        
/// </summary>
        
/// <returns></returns>
        public string[] GetProducts()
        {
            DataSet dataset = new DataSet();
            DataTable datatable = new DataTable();
            string[] rows = null;
            try
            {

                MySqlDataAdapter mdap = new MySqlDataAdapter("select * from nw_product where 1", mysql);
                mdap.Fill(dataset);
                datatable = dataset.Tables[0];

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return rows;
            }

            int row_count = datatable.Rows.Count;
            if (row_count>0)
            {
                rows = new string[row_count];
                for (int i = 0; i < row_count; i++ )
                {
                    rows[i] = datatable.Rows[i][0].ToString();
                }
            }
            return rows;
        }
        #endregion


        #region 获取所有客户名称
        /// <summary>
        
/// 获取所有客户名称
        
/// </summary>
        
/// <returns></returns>
        public string[] GetAllClientName()
        {
            DataSet dataset = new DataSet();
            DataTable datatable = new DataTable();
            string[] rows = null;
            try
            {

                MySqlDataAdapter mdap = new MySqlDataAdapter("select client_name from nw_client where 1", mysql);
                mdap.Fill(dataset);
                datatable = dataset.Tables[0];

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return rows;
            }

            int row_count = datatable.Rows.Count;
            if (row_count > 0)
            {
                rows = new string[row_count];
                for (int i = 0; i < row_count; i++)
                {
                    rows[i] = datatable.Rows[i][0].ToString();
                }
            }
            return rows;
        }
        #endregion


        #region 获取所有维修人员
        /// <summary>
        
/// 获取所有维修人员
        
/// </summary>
        
/// <returns></returns>
        public string[] GetAllRepairEr()
        {
            DataSet dataset = new DataSet();
            DataTable datatable = new DataTable();
            string[] rows = null;
            try
            {

                MySqlDataAdapter mdap = new MySqlDataAdapter("select user_name from nw_user where user_power='维修员' order by user_id", mysql);
                mdap.Fill(dataset);
                datatable = dataset.Tables[0];

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return rows;
            }

            int row_count = datatable.Rows.Count;
            if (row_count > 0)
            {
                rows = new string[row_count];
                for (int i = 0; i < row_count; i++)
                {
                    rows[i] = datatable.Rows[i][0].ToString();
                }
            }
            return rows;
        }

    }
    #endregion

    #region 定义用户表
    public class cUserInfo
        {
            private int user_id;

            public int User_id
            {
                get { return user_id; }
                set { user_id = value; }
            }

            private string user_name;

            public string User_name
            {
                get { return user_name; }
                set { user_name = value; }
            }
            private string user_password;

            public string User_password
            {
                get { return user_password; }
                set { user_password = value; }
            }
            private string user_power;

            public string User_power
            {
                get { return user_power; }
                set { user_power = value; }
            }
        }
   #endregion
   
}

posted on 2015-07-30 19:59 天下 阅读(365) 评论(0)  编辑 收藏 引用 所属分类: C#


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2015年7月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

导航

统计

常用链接

留言簿(4)

随笔分类(378)

随笔档案(329)

链接

最新随笔

搜索

最新评论