Sql dataSet.xsd查询选择中的位置

Sql dataSet.xsd查询选择中的位置,sql,select,dataset,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,

在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类型是integer

因此,我的文件DataSet.xsd的工作方式如下: 从dbo.ESPMEDS\u ORDO\u SORTIR中选择NOID、NO_DOSSOIN、NO_ORDO、POSOLOG 其中,NO_DOSSOIN=10,NOID为16

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


你应该把这些东西分开。不要期望能够传递一个看起来像16,17的Int32,它将始终被此向导视为字符串,如果您从代码执行它,它将根本不会编译

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

从dbo.ESPMEDS\u ORDO\u SORTIR中选择NOID、NO_DOSSOIN、NO_ORDO、POSOLOG 其中NO_DOSSOIN=@NO_DOSSOIN和@NOIDSTART,@NOIDEND中的NOID

然后分配:

@NOIDSTART=16

@NOIDEND=17


如果你的参数是动态的,你应该阅读几乎涵盖了这一主题的内容。

Peu tu nous montrer la structure de la table dbo.ESPMEDS_ORDO_SORTIR pour voir quel sont les types de donnés?我并不禁止你在这里使用英语以外的语言,但在问题中进行非英语讨论并不理想。最好在聊天室里进行一次非英语的讨论,然后在这里用英语发布你的发现。请看一下:**你能展示一下dbo.ESPMEDS_ORDO_SORTIR表的设计吗,这样我们就可以看到数据类型Hanks@Polynomic了,我不知道,谢谢你的回复,但它是动态的,有时只有2个数据16,17,有时3个数据16,15,20,或者10个或更多我更新了我的答案。如果您找到了要查找的内容,请忘记将问题标记为已回答:-