powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / проверить значение на null в oracledatareader.getoraclevalue()
14 сообщений из 14, страница 1 из 1
проверить значение на null в oracledatareader.getoraclevalue()
    #39525621
HANK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет! Подскажите как проверить значение на null в oracledatareader.getoraclevalue()
бьюсь разными способами результат - неверный. в частности
кто-то предложил
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
oracledatareader reader2 = new oracledatareader();
 var res = reader2.GetOracleValue(reader2.GetOrdinal("OT")).ToString();
if (!string.IsNullOrWhiteSpace(res))
{
  rep("Отчество пустое");
}
else
{
  rep("Отчество заполнено");
}



но это не работает
проверял и с DBNULL но тоже не получается, прошу подсказать как корректно обработать значение столбца произвольного типа на null при выводе
...
Рейтинг: 0 / 0
проверить значение на null в oracledatareader.getoraclevalue()
    #39525634
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так а что там в res, когда ты ждешь IsNullOrWhiteSpace?
...
Рейтинг: 0 / 0
проверить значение на null в oracledatareader.getoraclevalue()
    #39525638
HANK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pallarisтак а что там в res, когда ты ждешь IsNullOrWhiteSpace?
в res содержит: 'НИКОЛАЕВИЧ' - это отчетство
...
Рейтинг: 0 / 0
проверить значение на null в oracledatareader.getoraclevalue()
    #39525644
HANK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а когда строка действительно пустая то получается что она имеет вид 'Null'
...
Рейтинг: 0 / 0
проверить значение на null в oracledatareader.getoraclevalue()
    #39525676
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HANK,
Что значит произвольного типа?
Где твой исходный код?
...
Рейтинг: 0 / 0
проверить значение на null в oracledatareader.getoraclevalue()
    #39525678
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В крайнем случае всегда можно в запросе нулл заменить на что угодно - nvl (....
...
Рейтинг: 0 / 0
проверить значение на null в oracledatareader.getoraclevalue()
    #39525682
HANK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
вот исходник,
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 rep("Отчество");

                            if (DBNull.Value.Equals(reader2.GetOracleValue(reader2.GetOrdinal("OT"))))
                                //if (string.IsNullOrWhiteSpace(reader2.GetOracleValue(reader2.GetOrdinal("OT")).ToString()))
                            {
                                rep("Отчество пустое '");
                                rep("'"+ reader2.GetOracleValue(reader2.GetOrdinal("OT")) + "'");

                                P.Ot= "";
                            }
                            else
                            {
                                rep("Отчество заполнено ");
                                rep("'" + reader2.GetOracleValue(reader2.GetOrdinal("OT")) + "'"); 
                                P.Ot= reader2.GetOracleValue(reader2.GetOrdinal("OT")).ToString().Trim();

                            }



так вот когда оно пустое то все равно определяется как не пустое и когда его выводишь оно выводится 'Null'
...
Рейтинг: 0 / 0
проверить значение на null в oracledatareader.getoraclevalue()
    #39525686
HANK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
немного считаю не корректно ,к тому же заменять в запросе тонну полей. первый раз с такой проблемой сталкиваюсь, в других языках он так не возвращает когда строка пустая 'Null'
...
Рейтинг: 0 / 0
проверить значение на null в oracledatareader.getoraclevalue()
    #39525718
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
проверить значение на null в oracledatareader.getoraclevalue()
    #39525729
HANK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123HANK,
Такой пример сделай
https://msdn.microsoft.com/ru-ru/library/system.data.oracleclient.oracledatareader.read(v=vs.110).aspx

если имеешь в виду код, то да, все четко
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
ConnectToDb();//эта функция инициализации параметров подключения
comm.CommandText = "select * from myTable";
comm.CommandType = CommandType.Text;
conndb.Open();
OracleDataReader reader2 = null;
reader2 = commcod2.ExecuteReader();
if (reader2.HasRows)
{
  reader2.Read();
  if (DBNull.Value.Equals(reader2.GetOracleValue(reader2.GetOrdinal("OT"))))
 {
   rep("Отчество пустое '");
 
 }
 else
 {
   rep("Отчество заполнено ");

 }
}
...
Рейтинг: 0 / 0
проверить значение на null в oracledatareader.getoraclevalue()
    #39525730
HANK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HANK,

и этот код не работает корректно
...
Рейтинг: 0 / 0
проверить значение на null в oracledatareader.getoraclevalue()
    #39525741
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HANK,
Код: c#
1.
if (reader2.IsDBNull(reader2.GetOrdinal("OT"))) 
...
Рейтинг: 0 / 0
проверить значение на null в oracledatareader.getoraclevalue()
    #39525743
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buser, и да... дебугером пользуйтесь...
...
Рейтинг: 0 / 0
проверить значение на null в oracledatareader.getoraclevalue()
    #39525774
HANK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buser,

Спасибо! так работает!
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / проверить значение на null в oracledatareader.getoraclevalue()
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]