读书人

请教:update为什么不能立即更新数据库

发布时间: 2013-03-21 10:08:17 作者: rapoo

请问:update为什么不能立即更新数据库

public partial class bm : Form
{
public bm()
{
InitializeComponent();
}

DataBase db = new DataBase();//自行开发的数据库连接类,保证没问题
DataSet ds = new DataSet();
SqlDataAdapter da;
DataRow dr;
SqlCommandBuilder scb;

private void bm_Load(object sender, EventArgs e)
{
db.Open();
da = new SqlDataAdapter("select * from bm", db.con);
da.Fill(ds);
scb = new SqlCommandBuilder(da);
dataGridView1.DataSource = ds.Tables[0];
}

private void bm_FormClosed(object sender, FormClosedEventArgs e)
{
db.Close();
}

private void 存盘按钮_Click(object sender, EventArgs e)
{
da.Update(ds);
}
}

请问:为什么点击“存盘按钮”时,数据库无法立即更新(因为我想要数据库立即得到更新)?必须关闭窗口后数据库才会更新?不知是何原因?

请各位高手赐教!
[解决办法]
引用:
试下就算改成这个也不过是正在关闭的时候执行,就是你按下了关闭按钮后执行,这样的话。数据库更新了,但是窗口仍然关闭了。让人感觉的估计也是关闭后更新。。。
db.Open();db.Close();这两个可以加在db.Close();或da.Update(ds);的前后,bm_Load 进入的时候判断是否Open;不过这就太重复代码;可以试下专门写几个方法,分别执行查询,更新,添加,删除;以后直接传入SQL语句调用方法就可以了

读书人网 >C#

热点推荐