我对dataset的updata的使用还不是很了解.
比如:现有一个datagrid的表,里面是通过查询得到的结果,现在我要删除里面的某一行,然后用updata(ds,"name")来填充.我不知道该怎么写这段
我写了一下,可是不能执行
private void dsdele()
{
if(MessageBox.Show("确认删除吗?","询问",MessageBoxButtons.YesNo) == DialogResult.Yes)
{
int Rownum = this.dataGrid1.CurrentCell.RowNumber;
try
{
this.wds.Tables[0].Rows[Rownum].Delete();
this.wlk.Updatedatabase(this.wds.GetChanges(),name);
MessageBox.Show("修改成功");
}
catch
{
MessageBox.Show("该数据不能删除!","提示");
}
}
}
不管怎么都是说该数据不能删除.我猜测是在Rownum 这个地方,可是我不知道该怎么改.哎,刚学,经验不多.
哪位能稍微详细点给我解答下.
比如:现有一个datagrid的表,里面是通过查询得到的结果,现在我要删除里面的某一行,然后用updata(ds,"name")来填充.我不知道该怎么写这段
我写了一下,可是不能执行
private void dsdele()
{
if(MessageBox.Show("确认删除吗?","询问",MessageBoxButtons.YesNo) == DialogResult.Yes)
{
int Rownum = this.dataGrid1.CurrentCell.RowNumber;
try
{
this.wds.Tables[0].Rows[Rownum].Delete();
this.wlk.Updatedatabase(this.wds.GetChanges(),name);
MessageBox.Show("修改成功");
}
catch
{
MessageBox.Show("该数据不能删除!","提示");
}
}
}
不管怎么都是说该数据不能删除.我猜测是在Rownum 这个地方,可是我不知道该怎么改.哎,刚学,经验不多.
哪位能稍微详细点给我解答下.
this.objCmd.CommandText = strDele;
this.objCmd.ExecuteNonQuery();
if(num>=0)
{
ArrayList ar=new ArrayList();
for(int i=num;i>=0;i--)
{
if(this.dataGrid1.IsSelected(i))
ar.Add(i);
}
if(ar.Count>0)
{
if(MessageBox.Show("确实要删除选中的"+ar.Count.ToString()+"行吗?\n注意:删除后就无法恢复了!\n","警告",MessageBoxButtons.YesNo,MessageBoxIcon.Question)==DialogResult.Yes)
{
foreach(int i in ar)
{
this.dataSet1.Tables[0].Rows[i].Delete();
}
if(this.dataSet1.HasChanges())
this.oleDbDataAdapter1.Update(this.dataSet1,this.dataSet1.Tables[0].TableName);
}
}
}