为什么不能删除(100分)

  • 主题发起人 主题发起人 yourice
  • 开始时间 开始时间
Y

yourice

Unregistered / Unconfirmed
GUEST, unregistred user!
我在DataGrid1上增加了一列删除列,相应的事件代码如下:
private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{ DataTable bider=dataSet11.Tables["tblbider"];
bider.Rows[e.Item.ItemIndex].Delete();
bider.AcceptChanges();
DataGrid1.DataBind();
}
结果每点一下删除,都删除了该行,但再删除其它行,发现以前被删除的行又出现
了,好象只作了删除标记,并没有物理删除。怎么才能物理删除呢?
 
删除一条记录有这么难吗???
我用了存储过程,并用COMMAND对象来处理,发现数据库中倒是删除了,但页面上看不出,
DATAGRID没有更新,以下是相关事件代码:
private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string key=DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
DataSet1.tblBiderRow r;
r=dataSet11.tblBider.FindByBiderID(key);
Label1.Text=r.BiderID;
SqlCommand delCommand = new SqlCommand("sp_delbider", sqlConnection1);
delCommand.CommandType=CommandType.StoredProcedure;
SqlParameter biderid=new SqlParameter("@biderid",SqlDbType.Char,3);
biderid.Value=r.BiderID;
delCommand.Parameters.Add(biderid);
sqlConnection1.Open();
DataGrid1.DataSource=delCommand.ExecuteReader(CommandBehavior.CloseConnection);
DataGrid1.DataBind();
}
 
没有UPDATE
 
第一个贴子
bider.AcceptChanges();
DataGrid1.DataBind();
中datagrid1 的数据源指的不对了。
第二个贴子
还是数据datagrid数据源问题
 
第二个贴子,调存储过程删除后,再重新填充数据集,删除正常了
 
Delete只是在内存数据集中的数据做个deleted标示而已,并不能真正删除数据库中的数据
要删除还是要通过数据适配器对象来更新,要建立SqlCommandBuilder对象来自动执行更新命令
》bider.AcceptChanges();
添加这句就更新了内存DataSet的记录,由于内存DataSet的数据被更新
数据库无法得知内存DataSet的Deleted标志,因此数据库记录不能真正被删除
如:
System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
SqlCommandBuilder thisBuilder=new SqlCommandBuilder(SqlDataAdapter1)
bider.Rows[e.Item.ItemIndex].Delete();
SqlDataAdapter1.update(DataSet1,"tblbider");
DataGrid1.DataBind();
}
 
关键在于没有执行sqlDataAdapter的UPDATE命令将更新写回数据库,第一个贴子代码改写
为如下:就正常删除了
DataTable bider=dataSet11.Tables["tblbider"];
bider.Rows[e.Item.ItemIndex].Delete();
sqlDataAdapter1.Update(dataSet11,"tblbider");
DataGrid1.DataBind();
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
855
import
I
后退
顶部