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

Вниз

Как не вставлять пустую запись?   Найти похожие ветки 

 
Санёк   (2004-04-22 09:11) [0]

В конструкции:

with DataSet do if State in [dsInsert, dsEdit] then Post;

есть одно, но: вставляется пустая запись, как можно этого избежать, ведь DataSet знает, что она пустая, как это определить мне.


 
Reindeer Moss Eater ©   (2004-04-22 09:14) [1]

TField.IsNull


 
DenK_vrtz ©   (2004-04-22 09:15) [2]

Поставить у поля Required=true или в описании таблицы у поля not null


 
Санёк   (2004-04-22 09:17) [3]

Это по полю, а как узнать что новая запись? Ведь в гриде мы добавляем её, и если ничего не напишем в ней то она не сохраняется, т.е. он как то узнает, что она новая, как?


 
Johnmen ©   (2004-04-22 09:18) [4]

>вставляется пустая запись,

Что говороит о безграмотно спроектированной таблице...


 
Санёк   (2004-04-22 10:33) [5]

Вот так сделано в DevExpress, но как сделать на стандартном датасете

 Result := EditState * [dceInsert, dceEdit] <> [];
 Result := Result and (Provider.FEditingRecordIndex <> cxNullEditingRecordIndex);

Result - Это типа стоит вставлять или нет


 
stud ©   (2004-04-22 11:13) [6]

with DataSet do if State in [dsInsert, dsEdit] then Post;
ты постиш любую запись даже пустую. проверяй, например по значениям ключевых полей если они пустые значит не пост а кансел


 
Соловьев ©   (2004-04-22 11:16) [7]


> сохраняется, т.е. он как то узнает, что она новая, как?

if State in [dsInsert] then


 
Санёк   (2004-04-22 12:13) [8]

Ну а как грид узнает? Он не знает же какие ключевые поля?


 
stud ©   (2004-04-22 12:20) [9]

так если ты ничего в поля не вносил значит они не изменялись. у него же вроде есть св-во модифед или что-то подобное.


 
Санёк   (2004-04-22 12:48) [10]

Во вроде работает:

 with DataSet do
   if (State = dsEdit) or
      ( (State = dsInsert) and Modified ) then Post;

Всем спасибо.



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

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

Наверх




Память: 0.48 MB
Время: 0.036 c
14-1082606788
asdqwer
2004-04-22 08:06
2004.05.16
Обман зрения


14-1082914716
Knight
2004-04-25 21:38
2004.05.16
FAQ, примеры кода, статьи и прочее...


4-1075492917
Xerx
2004-01-30 23:01
2004.05.16
создать виртуальный диск


4-1080284661
nuflin
2004-03-26 10:04
2004.05.16
Подскажите, какие значения должны быть присвоены переменным в


1-1082984488
Domkrat
2004-04-26 17:01
2004.05.16
Запуск программы с ключами