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

Вниз

Полтергейсты SQL Server или всё "намана"?   Найти похожие ветки 

 
Nikolay M. ©   (2004-04-01 15:50) [40]

Вот только не надо генерить ID на клиенте!
Ты в [34] ссылку читал?


 
31512 ©   (2004-04-01 16:06) [41]

Ага. Спасибо большое. Работает вроде :)


 
31512 ©   (2004-04-01 16:07) [42]

procedure TForm1.ClientDataSet1NewRecord(DataSet: TDataSet);
begin
 if DataSet["ID_ORGANISATION"] = NULL then
   begin
     Beep;
     DataSet["ID_ORGANISATION"] := Random(32768);
   end;
end;


 
Nikolay M. ©   (2004-04-01 16:36) [43]


> DataSet["ID_ORGANISATION"] := Random(32768);

Надеюсь, это только для теста?


 
31512 ©   (2004-04-01 16:53) [44]

Разумеется для теста. Вот только плох этот способ. В клиентском приложении появляется логика базы данных. Приходится в ClientDataSetе добавлять поля в редакторе + для ID_ORGANISATION устанавливать ReadOnly := False. А это не есть гуд.


 
31512 ©   (2004-04-01 17:29) [45]

Ищу у способ обойтись без внесения полей в ClientDataSet в клиентском приложении и без установления ReadOnly := False для ключевого поля.


 
31512 ©   (2004-04-07 10:27) [46]

Вот ещё одно из возможных решений. При этом от identity отказываемся и ключевые поля имеют просто тип int...

.
.
.
var
 .....  
 ID : integer = 0;
 .....

.
.
.
procedure TForm1.ClientDataSet1NewRecord(DataSet: TDataSet);
begin
 DataSet.Fields[0].AsInteger := ID;
end;

procedure TForm1.ClientDataSet1BeforeInsert(DataSet: TDataSet);
begin
ID := DataSet.Fields[0].AsInteger;
Inc(ID);
end;



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

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

Наверх




Память: 0.54 MB
Время: 0.036 c
1-1081801283
VasRog
2004-04-13 00:21
2004.05.02
Сделать тест


3-1081105432
alexey
2004-04-04 23:03
2004.05.02
Фильтрация данных


3-1080889758
ВадимВС
2004-04-02 11:09
2004.05.02
Ошибка BDE для PDOXUSRS.NET под Win-2000


8-1075210752
Pavel_P
2004-01-27 16:39
2004.05.02
Афинные преобразования или "как работает 3D Orbit в AutoCADe?"


1-1081969022
VirusIP
2004-04-14 22:57
2004.05.02
Randomize