//今天研究了DataGridView显示数据库中数据的方法,小结如下,有错望指正。谢谢!

// 声明 DataSet

DataSet set = new DataSet(); 

string sqlstr = "Select * from bill ";
OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source = DB.mdb;");
OleDbDataAdapter adapter = new OleDbDataAdapter(sqlstr, con);

// Init DataColumn
DataColumn column = new DataColumn();
column.DataType = System.Type.GetType("System.Int64");
column.ColumnName = "ID";

// 在DataTable中添加bill表
DataTable tab = new DataTable("bill");

// Table add DataColumn
tab.Columns.Add(column);

set.Tables.Add(tab);

DataColumn[] keys = new DataColumn[1];
keys[0] = column;

// 在set.Tables["bill"]中设置主键,再次adapter.Fill(set, "bill")时,

//会按照主键进行刷新其中改变(更新包括新插入的和修改的,不包括被删除的数据)的数据,不会修改数据库中未发生改变的数据
set.Tables["bill"].PrimaryKey = keys; //

adapter.Fill(set, "bill"); //更新set.Tables["bill"]中的数据
paydataGridView.AutoGenerateColumns = true;
paydataGridView.DataSource = set.Tables["bill"]; // 将bill表中的数据填充到DataGridView中去

/////////////////////////////////////////////////////////////////////////////////////////////////////////

以后就可以直接更新set.Tables["bill"]中的数据,DataGridView中的数据会自动更新了,如果为设置主键,需要将bill表进行清空。

string sqlstr = "Select * from bill ";
OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source = DB.mdb;");
OleDbDataAdapter adapter = new OleDbDataAdapter(sqlstr, con);
adapter.Fill(set, "bill");

 

posted on 2013-01-21 01:05  无尤  阅读(1753)  评论(0编辑  收藏  举报