FineUI 官方论坛
标题:
【结贴】关联数据表删除总报异常?
[打印本页]
作者:
alfly008
时间:
2014-4-13 22:30
标题:
【结贴】关联数据表删除总报异常?
本帖最后由 alfly008 于 2014-6-14 23:13 编辑
两表关联:
AllocIn配送单表, AllocInDet配送明细表,其中明细表中保存着配送单表的主键AllocInID作为外键。
删除配送单表时,理应一并删除这个配送单下所有的明细数据。
前台是一个删除的按钮,如下:
<x:LinkButtonField ColumnID="deleteField" TextAlign="Center" Icon="Delete" ToolTip="删除" ConfirmText="确定删除此记录?"
ConfirmTarget="Top" CommandName="Delete" Width="50px" />
复制代码
后台代码中,
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
{
int id = Convert.ToInt32(Grid1.DataKeys[e.RowIndex][0]);
if (e.CommandName == "Delete")
{
try
{
/* 这里删除时,一并删除明细表的内容 */
DataSet ds1;
//TSM.Model.CK_AllocInDet modelCK_AllocInDet = m_bllCK_AllocInDet.GetModel(id);
//string searchText = modelCK_AllocInDet.CK_AllocInID.ToString();
string strWhere = "CK_AllocInID = " + id;
ds1 = m_bllCK_AllocInDet.GetList(strWhere);
ds1.Tables[0].Clear();
m_bllCK_AllocIn.Delete(id);
BindGrid();
}
catch (Exception ex)
{
Alert.ShowInTop(ex.ToString());
return;
}
}
复制代码
报错如下:
System.Data.SqlClient.SqlException: DELETE 语句与 REFERENCE 约束"FK__CK_AllocI__CK_Al__5B0E7E4A"冲突。该冲突发生于数据库"testDP",表"dbo.CK_AllocInDet", column 'CK_AllocInID'。
作者:
alfly008
时间:
2014-4-14 22:10
尝试过以下办法:依然不行,求以教我,谢谢诸位了
DataSet ds1;
string strWhere = "CK_AllocInID = " + id;
ds1 = m_bllCK_AllocInDet.GetList(strWhere);
int cnt = ds1.Tables[0].Rows.Count;
for (int i = 0; i < cnt; i++)
{
DataRow deleteRow = ds1.Tables[0].Rows[i];
deleteRow.Delete();
}
SqlDataAdapter myDA = new SqlDataAdapter();
try
{
myDA.Update(ds1.Tables[0]);
}
catch (Exception ex)
{
this.Response.Write(ex.Message);
}
复制代码
欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/)
Powered by Discuz! X3.4