Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
3 / 3 / 2
Регистрация: 20.07.2010
Сообщений: 119

Проверка на NULL строки типа Int

19.04.2017, 14:36. Показов 3040. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
в С++ можно сказать второй день
Нужно после совершения действий выводить данные что было изменено и на что.
C++
1
2
DataModule1-ADODTable->FieldByName["FieldName"]->OldValue; //значение в ячейке которое было
DataModule1-ADODTable->FieldByName["FieldName"]->Value; // значение в ячейке которое стало
Это все хорошо работает до тех пор пока исходное значение в ячейке не случается "", т.е. пусто. В таблице БД значение Null.
Пробовала проверять:
C++
1
DataModule1-ADODTable->FieldByName["FieldName"]->AsString.IsEmpty()
В этом случае не могу получить исходное значение
Подскажите, как обойти Null? Ну или получить изменяемое значение
Простите, если не совсем корректно задала вопрос
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.04.2017, 14:36
Ответы с готовыми решениями:

Блин, для ЧЕГО НУЖНА Функция CREATE TABLE invoice( inv_id INT AUTO_INCREMENT NOT NULL , usr_id INT NOT NULL , prod_id INT NOT NULL , quantity INT NOT
Погуглив, так и не смог толком понять. Есть тут ГУРУ по mysql Которые могут на пальцах или на примере показать для чего она нужна. ...

Все элементы массива типа int - null?
Всем доброго времени суток. Извините если название темы абсурдное. Я не буду просить решить мне задачу, подскажите просто как можно решить...

Проверка переменной типа структура на равенство NULL
Хочу в начале функции int Funk(struct St Fl) ... проверить корректность параметра Fl. Попробовал так: if(Fl == NULL) ... но...

7
Модератор
 Аватар для vxg
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,450
19.04.2017, 14:45
Ночь,
1) у вас все таки строка или целое число
2) а нельзя ли сделать поле NOT NULL DEFAULT '0'
3) что за среда
4) где сама ошибка
0
3 / 3 / 2
Регистрация: 20.07.2010
Сообщений: 119
19.04.2017, 17:10  [ТС]
vxg,
1) в бд поле с типом Int
2) бд не моя, программа тоже. поле NOT NULL DEFAULT '0' видимо нельзя сделать
3) embarcadero Rad Studio XE7
4) could not convert variant of type (string) into type (double)
0
techpriest
 Аватар для Mirmik
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
19.04.2017, 17:26
Приведите полностью код функции, в которой возникает ошибка.
0
3 / 3 / 2
Регистрация: 20.07.2010
Сообщений: 119
20.04.2017, 12:40  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  int massa = 0;
  int massav =0;
  if (!DataModule1-> ADODBlocaZZZ->FieldByName("Масса")->AsString.IsEmpty())
  massa =  DataModule1-> ADODBlocaZZZ->FieldByName("Масса") ->AsInteger;
 
  if (massa = NULL) {
     massav= DataModule1-> ADODBlocaZZZ->FieldByName("Масса")==0;
      ShowMessage("1"+massav   );
  }
  else
  {
  ShowMessage("2" +DataModule1-> ADODBlocaZZZ->FieldByName("Масса") ->OldValue);
ShowMessage("3" +  DataModule1-> ADODBlocaZZZ->FieldByName("Масса") ->Value);
  }
Вот. Можете меня пинать.
ругается на строчку с OldValue
0
techpriest
 Аватар для Mirmik
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
20.04.2017, 12:54
Хм...
Присваивание, а не сравнение?
C++
1
if (massa = NULL)
Оператор, складывающий строку с целым числом?
C++
1
"1"+massav
Мне кажется вам просто нужно четко сформулировать все особые случаи и убедиться, что вы их отлавливаете. По одному.
0
3 / 3 / 2
Регистрация: 20.07.2010
Сообщений: 119
20.04.2017, 13:27  [ТС]
Моя логика такая: Если значение пустое (IsEmpty), тогда massa преобразуется в тип Int, далее, если значение massa РАВНО NULL, тогда присваивается значение "0"
"1"+massa - это формат вывода ShowMessage
0
Модератор
 Аватар для vxg
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,450
20.04.2017, 13:35
Ночь, если massa это не указатель не нужно сравнивать его с NULL тем более что сравнение делается через ==
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.04.2017, 13:35
Помогаю со студенческими работами здесь

Считывание строки типа String в массив типа Int
Вот есть код не рабочий и не знаю даже как переделать. Помогите пожалуйста :wall: разобраться как прочесть строку в массив и вывести 2...

Проверка наличия значение не null в ячейке компонента dataGridView колонки типа ComboBox
Доброго времени суток. Имеется компонент dataGridView на котором один из столбцов представляет собой комбобоксы. Мне требуется...

Напишите перегруженную функцию power (), которая принимает два целочисленных параметра типа int и возвращает целочисленное значение типа int
Операции над целыми числами осуществляются быстрее, чем над числами с плавающей точкой. Напишите перегруженную функцию power (), ...

Передать массив элементов(типа int) объекта, в функцию из массивов(типа int)
Представьте такую ситуацию. Есть у вас массив чисел: Mass И вы хотите передать его в функцию. Я делаю это так: //объявим ф-ю: ...

Значение типа int нельзя присвоить сущности типа int
значение типа int нельзя присвоить сущности типа int подскажите с исправлением ошибки ст 26.27 #include<stdio.h> #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru