读书人

datagridview同步更新数据库怎么实现

发布时间: 2012-08-30 09:55:54 作者: rapoo

datagridview同步更新数据库如何实现?

C# code
string sql2 = "select * from b1";            string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;Data Source="                   + Application.StartupPath                   + "\\db1.MDB";            OleDbConnection conn = new OleDbConnection(strConnection);                        OleDbDataAdapter adp = new OleDbDataAdapter(sql2,conn);            OleDbCommandBuilder ocb = new OleDbCommandBuilder(adp);            DataTable dt = new DataTable();            //DataSet ds = new DataSet();            BindingSource bs = new BindingSource();            conn.Open();            adp.Fill(dt);            this.dataGridView1.DataSource = dt;            bs.DataSource = dt;            conn.Close();            adp.Update((DataTable)bs.DataSource);

以上是网上抄的我修改了一下 但是无法实现,请朋友们帮忙看看那里不对谢谢了!

[解决办法]
DataSet ds = new DataSet();
SqlDataAdapter sda;

SqlCommandBuilder scb = new SqlCommandBuilder(sda);
sda.Update(ds);
this.dataGridView1.DataSource = ds.Tables[0];

[解决办法]
把具体要求说一下!
[解决办法]
探讨
DataSet ds = new DataSet();
SqlDataAdapter sda;

SqlCommandBuilder scb = new SqlCommandBuilder(sda);
sda.Update(ds);
this.dataGridView1.DataSource = ds.Tables[0];

[解决办法]
ds中的表实际上就是你关联数据库读取的表。

是同一个表就可以,实现关联update,必须包含主键。
[解决办法]
Update语句执行完成后,还是要重新绑定下数据,已达到同步更新数据库数据。。。

[解决办法]
string sql2 = "select * from b1";
string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;Data Source="
+ Application.StartupPath
+ "\\db1.MDB";
OleDbConnection conn = new OleDbConnection(strConnection);

OleDbDataAdapter adp = new OleDbDataAdapter(sql2,conn);
OleDbCommandBuilder ocb = new OleDbCommandBuilder(adp);
DataTable dt = new DataTable();
//DataSet ds = new DataSet();
BindingSource bs = new BindingSource();
conn.Open();
adp.Fill(dt);
this.dataGridView1.DataSource = dt.Tables[0].DefaultView;
bs.DataSource = dt;
conn.Close();
adp.Update((DataTable)bs.DataSource);
[解决办法]
从新调用下绑定方法,就是同步更新了。
[解决办法]
bs.EndEdit();
this.dataGridView1.EndEdit();
TableAdapter.Update((DataTable)bs.DataSource);
TableAdapter.Fill((DataTable)bs.DataSource);
这个加在conn.Close();前面试试

读书人网 >C#

热点推荐