Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.09;
Скачать: CL | DM;

Вниз

Проблемма с последней строкой в Query   Найти похожие ветки 

 
NIKI   (2002-08-20 12:32) [0]

Мастера, подскажите.
Проблема в том, что:
В query получены данные (SQL - запрос).
Одно из полей имеет тип Integer.
При перемещении в пределах полученного набора всё нормально(При этом разрешено редактирование записей).Как только курсор достигает последней записи и я снова нажимаю кнопку "Вниз"(должна получиться пустая строка), сразу всё виснет
и сообщение "is not a valid integer value".Причина, наверное, в том , что поле ещё пустое, а он пытается сразу причилить его к integer.
Есть ли св-во (или другой способ) запретить у Query выходить за пределы полученного набора (чтобы курсор нельзя было опустить ниже последней записи).


 
asafr ©   (2002-08-20 12:40) [1]

В таблице этому полю разрешить значение NULL


 
Val ©   (2002-08-20 12:42) [2]

хм, если НД редактируемый, то подобная ошибка может возникнуть при попытке поста записи, а у вас он вроде как еще не происходит.
странно это...
..запретить у Query выходить за пределы полученного..
для этого нужно запретить Insert, можно потупить так: в BeforeInsert НД вызвать SysUtils.Abort;


 
Reindeer Moss Eater   (2002-08-20 12:47) [3]

Наверное у тебя есть calculated fields, значения которых расчитываются на основе этого целочисленного физического поля


 
NIKI   (2002-08-20 12:50) [4]

Вычисляемых полей нет.
Есть DBGrid, который связан с этим полем
Afteropen-> DBEdit1.datasourse:=Datasourse1;
DBEdit1.datafield:=num;
А с DBEdit1 связана переменная а:integer на событие OnChange;


 
NIKI   (2002-08-20 12:51) [5]

Наверное это исключение вызывает переменная а, пытающаяся сразу перевести пустое значение в число???


 
Reindeer Moss Eater   (2002-08-20 12:53) [6]

Не переменная, а обработчик события.


 
Reindeer Moss Eater   (2002-08-20 12:57) [7]

Проверяй в обработчике State набора данных.
if not (DBGrid.DataSource.DataSet.State in dsEditModes) then
преобразовывать
else
не делать этого;


 
NIKI   (2002-08-20 12:57) [8]

А как это избежать???


 
NIKI   (2002-08-20 13:04) [9]

А впрочем, придумал.
Переменная "а" нужна была для поиска. Буду просто искать по значению DBGrid(переводить формат только при поиске).
А SysUtils.Abort помог. Всем спасибо. Это я стормозил.:)))


 
Nina   (2002-08-20 13:32) [10]

може автоинкременное поле?



Страницы: 1 вся ветка

Текущий архив: 2002.09.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
3-26901
Elena_K
2002-08-20 07:20
2002.09.09
Соединение с БД Oracle


1-27015
Коля
2002-08-30 08:46
2002.09.09
TRichEdit


4-27275
hovl
2002-07-17 23:16
2002.09.09
WinAPI


3-26876
RDA
2002-08-18 14:57
2002.09.09
Клиент-серверное програмирование. Вкусно - но...


1-26937
Lamer86
2002-08-27 11:59
2002.09.09
Как запустить файл, а потом дождаться его завершения