数据库中有 2个表称为master和kpi 主表中的列是
no,name,startdt,enddt,status
kpi 表中的列是
不,kpi_det
注意:"否"在kpi表中指的是" no"在主表中。
对于相同的" no"(几行),kpi_det可以有多个值。
我创建了一个更新查询,并给出了以下异常。
违反PRIMARY KEY约束' PK_COMPETITION_KPI'。无法在对象' dbo.COMPETITION_KPI'中插入重复键。重复键值为(3,OTHER)。
我期望做的是,更新kpi表中的值,如果复选框列表中的数据多于或少于表中数据的数量,则应将所有数据添加到表中或从表中删除分别。有什么建议使这项工作?
这是我的查询
public DataSet updateKPI(int compNo, string kpi)
{
string strQuery = @"update [COMPETITION_KPI] set COMPETITION_KPI='" + kpi + "' " + Environment.NewLine +
@"where COMPETITION_NO='" + compNo + "' ";
return SqlHelper.ExecuteDataset(strConnString, CommandType.Text, strQuery);
}
这是我的c#代码,
foreach (ListItem item in chkEditList.Items)
{
if (item.Selected)
{
kpi = item.ToString();
ds = db.updateKPI(compNo, kpi);
}
}