所以我有checkboxlist
一个 ASP.NET 表单。我需要选择的 ID作为存储过程 ( )checkboxes
中子句的一部分。非常简单——假设用户选择, , , , 那么我的程序会询问 where 的值。由于我不能做动态语句,而且我不想动态构建查询,我认为 XML 会是一个不错的选择。 IN
SQL Server 2008
1
2
4
7
TranCode IN (1,2,4,7)
IN
因此,我在 VB.NET -<chargecode><refnum>1</refnum><refnum>2</refnum></chargecode>
等 中构建 XML 字符串TranCode
并RefNum
表示相同的字段,它们只是在事务表和描述表之间命名不同,因此refnum
如果需要,我可以在我的 XML 中更改为其他内容,但是我肯定要使用TranCode
比较列。
在我的存储过程中,我声明了一个名为 的 XML 变量@ChargeCodesXML
,它将包含从 VB.NET 传入的 XML 字符串。基本上,我需要做的就是将所有引用句柄字段从 XML 文件中拉出,以便与TranCode
. 该过程有几个连接,一些聚合函数,分组等,但基本上我想要类似的东西
SELECT * FROM SomeTable WHERE TranCode IN (SELECT RefNum FROM MyXMLFile)
我一直在四处搜索,看到了许多复杂的 XML 查询,但没有什么比我需要的更简单,所以我对我看到的示例感到不知所措。有人可以告诉我如何为这个非常简单的比较修改我的过程吗?
谢谢!麦克风