我的 SQLSERVER(2008R2) 上有一个名为“Clients”的表,它有 ClientID 和 Address。我想做一个查询/SP,它执行以下操作:
- 接收地址列表。
- 删除具有这些地址的记录。
- 返回无法删除的地址列表(未找到行等)。
- 返回删除的行数。
我的应用程序是基于 C#-ASP.NET 的应用程序。我想到了以下解决方案:
制作一个
SP
接收地址列表,然后尝试删除它们,如果无法删除它,将其添加到某种数组/列表中。- 我对这个解决方案的问题是我不熟悉列表在 SQLSERVER(2008R2) 上的工作方式。使用
DataTable
,从数据库中选择我需要的数据,然后使用 删除它SqlDataAdapter
,并检查通过 更改的行是什么RowState
。
我的数据库示例:
Client ID Address
111111111 'foo st. 2'
222222222 'foo bld 1'
333333333 'foo rd 22'
444444444 'foo st. 1'
输入示例:
input list{'foo st. 2','foo bld 1','foo st 22','foo st 1'}
- 最后两项在上表中不存在,所以我希望我的 SP(或任何其他解决方案)返回:
'Deleted rows: 2' //thats not a problem
'list of the records which weren't removed: {'foo st 22','foo st 1'} //thats a problem..
希望我尽可能清楚地说明自己。