Странное поведение DataTable - PullRequest
2 голосов
/ 04 мая 2010

В моем коде странное поведение, которое я не могу объяснить ... Я работал вокруг этого, но я хотел бы знать причину такого поведения.

Мой код:

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   

Где столбцы: ParamID - FileID - ParaPos - Paravalue.

Я хочу сделать это так, чтобы единственными строками, которые я получаю, были строки с правильным fileid ...

результат, когда в качестве строки выбора указано «FileID = 1», представляет собой массив из 2 строк ...
все хорошо ...

но строка фильтра "FileID = 2" вернет 0 строк ... Фильтр, такой как "FileID <> 1", возвращает 2 строки правильно.

Я действительно не могу объяснить это странное поведение, может быть, одно из сообществ делает В таблице больше записей, но строка фильтра работает только с выбором FileID = 1.

Извините, мой плохой английский.

Пожалуйста, объясните мне мою ошибку.

Ответы [ 2 ]

1 голос
/ 04 мая 2010

Какой тип данных является столбцом FileID? Возможно ли, что это какая-то строка, а в тех, что содержат 2, есть какой-то пробел?

0 голосов
/ 04 мая 2010

Это считано из 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>

Извините за публикацию в качестве ответа ... Поместить в качестве комментария его не читается. Настоящие Документы:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...