C# mysql 四种操作数据库方法封装

来源:互联网 发布:淘宝联盟qq推广 编辑:程序博客网 时间:2024/06/15 04:02

1、MysqlExecuteReader,我这里是用MysqlExecuteReader将从数据库里面取得的数据放到一个二维数组里面, MysqlExecuteReaderRows主要是为了取得数据集里面行数,要两次连接数据库进行查询,对数据库压力比较大,可以在直接在MysqlExecuteReader采用其他方法获取数据集行数。

public int MysqlExecuteReaderRows(string sql) 
        {
            string connStr = "Server=localhost;Database=airline;Uid=root;Pwd=root;CharSet=utf8;";
            MySqlConnection con = new MySqlConnection(connStr);
            con.Open();//打开数据库连接
            MySqlCommand cmd = new MySqlCommand(sql, con);
            MySqlDataReader time = cmd.ExecuteReader();
            int i = 0;
            while (time.Read()) { i++; }
            con.Close();
            return i;
        }
        public string[,] MysqlExecuteReader(string sql,int cloums)
        {
            int i = MysqlExecuteReaderRows(sql);
            string connStr = "Server=localhost;Database=airline;Uid=root;Pwd=root;CharSet=utf8;";
            MySqlConnection con = new MySqlConnection(connStr);
            con.Open();//打开数据库连接
            MySqlCommand cmd = new MySqlCommand(sql, con);
            MySqlDataReader time = cmd.ExecuteReader();   
            //int contime = time.GetOrdinal("name");//字段索引号获取
            string id = ""; 
            int m = 0;
            string[,] result = new string[i, cloums];
            string info = i.ToString();
            MessageBox.Show(info);
            while (time.Read()) 
            {
                for (int n = 0; n < cloums; n++)
                {
                    id = time[n].ToString();
                    result[m,n] = id;
                }
                m++;
            }
            con.Close();  //关闭数据库连接
            return result;
        }

2、MysqlExecuteNonQuery   这个主要是为了获取sql语句是否在数据库里操作成功。

public string MysqlExecuteNonQuery(string sql)
        {
            string connStr = "Server=localhost;Database=airline;Uid=root;Pwd=root;CharSet=utf8;";
            MySqlConnection con = new MySqlConnection(connStr);
            con.Open();//打开数据库连接
            MySqlCommand cmd = new MySqlCommand(sql, con);
            string no = cmd.ExecuteNonQuery().ToString();
            con.Close();  //关闭数据库连接
            return no;
        }

3、MysqlExecuteScalar

public string MysqlExecuteScalar(string sql)
        {
            string connStr = "Server=localhost;Database=airline;Uid=root;Pwd=root;CharSet=utf8;";
            MySqlConnection con = new MySqlConnection(connStr);
            con.Open();//打开数据库连接
            MySqlCommand cmd = new MySqlCommand(sql, con);
            object tempResult = cmd.ExecuteScalar();
            string result = tempResult.ToString();
            con.Close();  //关闭数据库连接
            return result;
        }


4、将取得的数据集直接返回,以便直接利用数据集填充dataGridView

public DataSet MysqlSqlDataAdapter(string sql)
        {
            string connStr = "Server=localhost;Database=airline;Uid=root;Pwd=root;CharSet=utf8;";
            MySqlConnection con = new MySqlConnection(connStr);
            con.Open();//打开数据库连接
            MySqlCommand cmd = new MySqlCommand(sql, con);
            MySqlDataAdapter da = new MySqlDataAdapter();
            da.SelectCommand = cmd;
            DataSet ds = new DataSet(); 
            da.Fill(ds);
            return ds;
        }

0 0
原创粉丝点击