Форум: "Базы";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
ВнизПолтергейсты 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;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.038 c