如何从datagridview更新数据库

时间:2015-03-18 09:17:37

标签: c# winforms datagridview dataset tableadapter

我已在datagridview中选中了“启用编辑”选项 我有一个从我的数据库生成的数据集模型我试图使用更新方法,但它没有采取正确的参数 在加载时,即使它正在获取并显示到datagridview中。

    private void FrmSession_Load(object sender, EventArgs e)
    {
        tblSessionTableAdapter tblSession = new tblSessionTableAdapter();
        dataGridView1.DataSource = tblSession.spGetSessionRecord();

    } 

但是在按钮上点击它甚至没有从datagridview更新我错过了什么?

    private void btnAdd_Click(object sender, EventArgs e)
    {
        FMSDataSet ds = new FMSDataSet(); //Object of automatically generated model
        tblSessionTableAdapter tblSession = new tblSessionTableAdapter();
        tblSession.Update(ds);  // i put ds here because on update's third constructor it requires dataset
    }

2 个答案:

答案 0 :(得分:0)

问题是在click方法中创建了一个新的DataSet。新的DataSet不包含任何修改,因为它是新创建的。

修改包含在DataSet / DataTable中,它是GridView的DataSource。

tblSession.Update([在这里放置与load方法相同的DataSet / DataTable]);

答案 1 :(得分:0)

如果您希望数据集具有状态,则需要将数据集设置为成员变量,以便保持当前状态并进行更新。

FMSDataSet ds;

Constructor() 
{
  ds = new FMSDataSet();
}

//然后在点击事件中访问它。

 private void btnAdd_Click(object sender, EventArgs e)
{
    tblSessionTableAdapter tblSession = new tblSessionTableAdapter();
    tblSession.Update(this.ds);  // update persistent data set
}