//今天研究了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");