天天看点

Mysql数据库之MysqlDataAdapter

Mysql数据库之MysqlDataAdapter

生活中,不缺的就是中介或者红娘。无独有偶,在Mysql数据库中,也有这么一位兢兢业业的红娘-用于连接DataSet和Mysql数据库的适配器。

那么就来先来介绍下DataSet吧!

DataSet是一个临时的、虚拟的数据库。DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合。所谓独立,就是说,即使断开数据链路,或者关闭数据库,DataSet依然是可用的。我们可以这样理解:DataSet就是映射Mysql数据库的。

红娘MysqlDataAdapter的两大方法:

Fill方法:

可以将查询到的数据,填充到虚拟数据库的数据表中。

Update方法:

可以更改数据源的数据,达到和Dataset虚拟数据库中数据的一致性。

附上两个小时研究明白的代码:

string str = "data source=localhost;database=clientdb;UserId=root;Password=admin;Port=3306";
            MySqlConnection con = new MySqlConnection(str);
            con.Open();

            // string sql = "insert ClientInfo values('" + ClientId + "','" + ClientName + "','" + ClientContact + "','" + Clientphone + "','" + ClientAddress + "','" + ClientPaperInfo + "','" + ClientTeamTime + "')";
            //MySqlCommand com = new MySqlCommand(sql, con);
            string sql = "select * from clientinfo";
            MySqlCommand com = new MySqlCommand(sql, con);
            //MySqlDataAdapter mySqlDataAdapter = new MySqlDataAdapter(sql, con); //实例化adapter对象
            MySqlDataAdapter mySqlDataAdapter = new MySqlDataAdapter();
            mySqlDataAdapter.SelectCommand = com;
            DataSet dt = new DataSet();//创建一个临时虚拟数据库,映射Mysql数据库
            mySqlDataAdapter.Fill(dt, "table1");//将查询到的数据返回到table1表中
            DataTable dataTable = dt.Tables["table1"];//将本地的table1传给datable,DataSet是一个“表”的集合,而DataTable只是一张表。
            dataGridView1.DataSource = dataTable;//显示数据表,注意DataSet是不能用于dataGridView控件显示
            con.Close();
            mySqlDataAdapter.Dispose();//摧毁桥梁
           

继续阅读