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

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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值