|
|
|
Не отрабатывает If (...) == NULL {...} else{...}
|
|||
|---|---|---|---|
|
#18+
Доброго дня! Делаю выборку ADODataSet1->Close(); ADODataSet1->CommandText=""; ADODataSet1->CommandText=("select Field1,Field2,Field3 from Table where un=...)); ADODataSet1->Open(); Потом надо проверить if (ADODataSet1->FieldByName("Field") == NULL) {Отрабатываем на NULL...} else {Отрабатываем на не NULL...} Так вот, если поле не NULL (longText),то все отрабатывает.Но даже если поле NULL,то все равно отрабатывает else ... Таблица в SQL EM (и там четко нарисовано <NULL>) Подскажите, в чем может быть дело? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2006, 11:50 |
|
||
|
Не отрабатывает If (...) == NULL {...} else{...}
|
|||
|---|---|---|---|
|
#18+
OppazitТаблица в SQL EM (и там четко нарисовано <NULL>) Подскажите, в чем может быть дело? Спасибо. Ключевое слово выделено ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2006, 12:01 |
|
||
|
Не отрабатывает If (...) == NULL {...} else{...}
|
|||
|---|---|---|---|
|
#18+
C/C++ - ный NULL и null в базах данных - это не одно и то же. Нельзя проверять поле на то, что оно содержит null, сравнивая его с NULL. ( == NULL ) Обычно в API есть специальные функции для определения того, имеет ли поле значение, типа fieldValue->IsNull() , их и надо использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2006, 12:04 |
|
||
|
Не отрабатывает If (...) == NULL {...} else{...}
|
|||
|---|---|---|---|
|
#18+
у меня с синтаксисом траблы, я только начал изучать С++... Если есть возможность кусок кода вставить-буду благодарен ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2006, 12:24 |
|
||
|
Не отрабатывает If (...) == NULL {...} else{...}
|
|||
|---|---|---|---|
|
#18+
Проверить наличие поле в базе так: Код: plaintext 1. 2. 3. Проверить заполнено поле значением или пустое так: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2006, 17:42 |
|
||
|
Не отрабатывает If (...) == NULL {...} else{...}
|
|||
|---|---|---|---|
|
#18+
Привет всем! Спасибо за советы. Сегодня еще решил напрямую забирать размер поля из таблицы следующим образом, но тем не менее не отрабатывает...все равно упорно идет на отработку в else ADODataSet1->Close(); ADODataSet1->CommandText=""; ADODataSet1->CommandText=("select Field1,Field2,Field3,DataLength(Field2) as LLL from Table where un=1111"); ADODataSet1->Open(); if (ADODataSet1->FieldByName("LLL")==NULL) также делал (...==0) результат тот же { TBlobField *BF=dynamic_cast<TBlobField *>(ADODataSet1->FieldByName("Field1")); BF->SaveToFile("C:\\wordfile.doc"); } else { TBlobField *BF=dynamic_cast<TBlobField *>(ADODataSet1->FieldByName("Field2")); BF->SaveToFile("C:\\wordfile.doc"); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 08:30 |
|
||
|
Не отрабатывает If (...) == NULL {...} else{...}
|
|||
|---|---|---|---|
|
#18+
Oppazit if (ADODataSet1->FieldByName("LLL")==NULL) также делал (...==0) результат тот же Вообще-то NULL и 0 - это одно и то же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 20:36 |
|
||
|
Не отрабатывает If (...) == NULL {...} else{...}
|
|||
|---|---|---|---|
|
#18+
никто и не спорит - лучше какое-нить предложение дельное услышать ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 06:03 |
|
||
|
Не отрабатывает If (...) == NULL {...} else{...}
|
|||
|---|---|---|---|
|
#18+
Из всех сообщений я так и не понял, что имелось в виду: 1)не существование поля в запросе- q->FieldByName(имя_поля)==NULL - получите сообщение об ошибке, которое, правда, можно поймать 2)или неопределённость его значения - q->FieldByName(имя_поля)->Value.IsNull() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 07:28 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=321&tid=2029952]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 322ms |

| 0 / 0 |
