dataSet.xsd查询选择在哪里

时间:2012-07-03 13:24:50

标签: sql select dataset

在SQL中它可以正常工作

SELECT NOID, NO_DOSSOIN, NO_ORDO, POSOLOG FROM dbo.ESPMEDS_ORDO_SORTIR
WHERE NO_DOSSOIN = @NO_DOSSOIN AND NOID IN (@NOIDIN)

示例

SELECT NOID, NO_DOSSOIN, NO_ORDO, POSOLOG FROM dbo.ESPMEDS_ORDO_SORTIR
WHERE NO_DOSSOIN = 10 AND NOID IN (16,17)

但是当我把它放在dataset.xsd查询中时,我没有得到相同的输出,我不能将多个id放入NOIDIN参数,因为NOID类型是整数

所以我的文件DataSet.xsd只能这样工作: Dataset.xsd File     SELECT NOID,NO_DOSSOIN,NO_ORDO,POSOLOG来自dbo.ESPMEDS_ORDO_SORTIR     在哪里NO_DOSSOIN = 10且NOID IN(16)

错误说我无法将数据从字符串转换为int

The Structure

1 个答案:

答案 0 :(得分:0)

您应该将NOIDIN分开。不要期望能够传递看起来像Int32的{​​{1}},它将始终被此向导视为字符串,并且如果从代码执行它,则根本不会编译。< / p>

enter image description here

最简单的选择是将范围传递给两个值,如下所示:

16,17

然后分配:

SELECT NOID, NO_DOSSOIN, NO_ORDO, POSOLOG FROM dbo.ESPMEDS_ORDO_SORTIR WHERE NO_DOSSOIN = @NO_DOSSOIN AND NOID IN (@NOIDSTART, @NOIDEND)

@NOIDSTART = 16

如果你的参数是动态的,你应该阅读this article,这几乎涵盖了这个主题。