我在form1有一个bindingSource1和一个datagridview,数据源相同,我点 bindingSource1的删除控件,datagridview里的内容给删除了。但数据库中的内容并没有删除。我删除按钮的点击事件写了如下代码:
private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e)
{
DialogResult dlr = MessageBox.Show(this, "确定要删除记录吗?", "确定删除吗!", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
try
{
switch (dlr)
{
case DialogResult.Yes:
{
bindingSource1.EndEdit();
scb = new SqlCommandBuilder(sda);
scb.GetDeleteCommand();
sda.Update(dt);
break;
}
case DialogResult.No:
break;
}
}
catch (Exception e1)
{
MessageBox.Show(e1.ToString());
}
}
但会出错。怎么回事?
private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e)
{
DialogResult dlr = MessageBox.Show(this, "确定要删除记录吗?", "确定删除吗!", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
try
{
switch (dlr)
{
case DialogResult.Yes:
{
bindingSource1.EndEdit();
scb = new SqlCommandBuilder(sda);
scb.GetDeleteCommand();
sda.Update(dt);
break;
}
case DialogResult.No:
break;
}
}
catch (Exception e1)
{
MessageBox.Show(e1.ToString());
}
}
但会出错。怎么回事?
http://amberlife.net/csharp/bsSummary.html
http://blog.csdn.net/sunzhenlin2008/archive/2008/06/11/2535958.aspx
bindingSource1.update(dataset.table)
刚才说错了。form1的是 bindingNavigator1
我想知道是不是鼠标在 bindingNavigator1上点击了。datagridview就指向下一个记录啊
bindingSource1.EndEdit();
scb.GetInsertCommand();
scb.GetUpdateCommand();
scb.GetDeleteCommand();
sda.Update(dt);
点击删除按钮后,再点保存,可以删除,但增加了记录后,点保存却出错。但是如果我直接拉个button过去,单击事件里用同样的代码。又可以保存。怎么回事
bindingSource1.EndEdit()
datagridview1.endEdit()
sda.update(dt)这样试试》
if (MessageBox.Show("确定保存你所做的改变吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk) == DialogResult.OK)
{
this.Validate();
this.BindingSource1.EndEdit();
this.TableAdapter1.Update( this.salaryDataSet.Salary);
}
return;这种数据源方式更新没有问题.测试通过
1.是删除datagridview中的数据
dataGridView1.Rows.RemoveAt(dataGridView1.CurrentCell.RowIndex);
2.是删除数据库中对应记录