|
|
|
SqlDataReader и GetString() для поля Int
|
|||
|---|---|---|---|
|
#18+
Процедура возвращает одно поле - в нем число. Я пытаюсь через объект класса SqlDataReader сделать GetString(0) и получаю ошибку "invalid cast" в том числе и в Watch. Пытаюсь сделать GetValue(0).ToString() и вот что интересно - в Watch значение выводится, а в процессе работы самой программы вываливается ошибка. Почему? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2006, 18:16:00 |
|
||
|
SqlDataReader и GetString() для поля Int
|
|||
|---|---|---|---|
|
#18+
У вас разные уровни контроля исключений (варнинг-ситуаций) в приложении и в студии (Вотч). Студийный мягче, можно сказать интелектуальней, поэтому он иногда дает посмотреть разработчику то, что програма не даст.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2006, 15:24:01 |
|
||
|
SqlDataReader и GetString() для поля Int
|
|||
|---|---|---|---|
|
#18+
GetValue().ToString() и GetString() совершенно разные вещи. GetString(), если можно так сказать, строго типизированный и в качестве входного значения ожидает именно строку. GetValue() же не проверяет тип входного значения и просто возвращает object, для которого всегда существует реализация ToString(). Здесь не будет исключения даже в том, случае, когда GetValue вернет DBNull. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2006, 15:40:25 |
|
||
|
|

start [/forum/topic.php?fid=18&tid=1388860]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
164ms |
get topic data: |
16ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 477ms |

| 0 / 0 |
