C#有关SqlDataAdapter和DataTable的更新

来源:百度知道 编辑:UC知道 时间:2024/05/15 19:57:38
我利用一个dataGridView控件显示数据库中的一个表,并在dataGridView下方把表中各个条目列出,与dataGridView中的表绑定。更新下面的任何一个条目,点击保存按钮,dataGridView中的表自动更改,并且更新数据库。
我写的语句是
SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
adapter.Update(table);
目前只能在控件的表中更改,不能更新数据库,请哪位高手指点。
相关的代码在这里了:
DataTable table = new DataTable();
SqlConnection conn = new SqlConnection(Properties.Settings.Default.hrmdatabaseConnectionString);
SqlDataAdapter adapter = new SqlDataAdapter("select * from 职员基本信息表",conn);
adapter.Fill(table);
bindingSource1.DataSource = table;
dataGridView1.DataSource = bindingSource1;
SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
adapter.Update(table);

你的就是不能改变的,因为你根本没有用到dataset数据集!
dataset ds=new dataset()
adapter.fill(ds,"table");
你前面应该这样写。
后面更新的时候的代码:
SqlConnection conn = new SqlConnection
SqlDataAdapter adapter = new SqlDataAdapter("select * from 职员基本信息表",conn);
SqlCommandBuilder builder = new SqlCommandBuilder(adapter);

if (ds.haschanged())
{
dataset d=ds.getchanged();
adapter.update(d,"table);
ds.acceptchanged();

}ok!

table.AcceptChanages();
adapter.Update(table);
试试看看,我一般从来都不用这种方式更新

你是"select * from 职员基本信息表",当然数据库里面没有更新了

把全部代码贴出看看 要不就不好说 a

你是初学者吗?程序里用绑定,执行效率相对较低,并且代码繁多!有意详询,帐号即为QQ

更新的时候,你有将要更新的数据写进去吧