我的代码中有一个奇怪的行为,我无法解释...... 我一直在努力,但我想知道这种行为的原因。
我的代码:
If dataset.Tables.Count > 0 Then
Dim rows() As DataRow = dataset.Tables(0).Select("FileID = " + fileid.ToString)
For Each row As DataRow In rows...
数据集中唯一的表是:
18 1 1 testpara42
19 1 2 Para2
23 2 1 Para1
24 2 2 Para42
colums的位置是:ParamID - FileID - ParaPos - Paravalue。
我想过滤它,以便我得到的唯一行是具有正确fileid的那些......
当选择字符串为“FileID = 1”时的结果是具有2行的数组...
一切都很好......
但过滤字符串“FileID = 2”将返回0行... 像“FileID<> 1”这样的过滤器会正确返回2行。
我真的无法解释这种行为,也许是社区之一。表确实有更多条目,但Filter字符串只适用于“FileID = 1”选项。
请原谅我糟糕的英语。
请向我解释我的错误。
答案 0 :(得分:1)
FileID列的数据类型是什么?它是否可能是某种类型的字符串,其中包含2的字符串包含某种空格?
答案 1 :(得分:0)
它是从XML文件中读出来的。
<Table>
<ParamID>18</ParamID>
<FileID>1</FileID>
<ParaPos>1</ParaPos>
<ParaValue>testpara42 </ParaValue>
</Table>
<Table>
<ParamID>19</ParamID>
<FileID>1</FileID>
<ParaPos>2</ParaPos>
<ParaValue>Para2 </ParaValue>
</Table>
<Table>
<ParamID>23</ParamID>
<FileID>2</FileID>
<ParaPos>1</ParaPos>
<ParaValue>Para1 </ParaValue>
</Table>
<Table>
<ParamID>24</ParamID>
<FileID>2</FileID>
<ParaPos>2</ParaPos>
<ParaValue>Para42 </ParaValue>
</Table>
很抱歉将其发布为答案...将其评为不可读。 真正的DocSnuggles:)