![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Key violation [D6, Paradox]
Russko © (2003-10-02 13:00:00)
Подскажите пожалуйста, почему в таблице при переходе ко второй записи: DataModule2.Table2.Next возникает ошибка:"Key violation".
Russko (2003-10-02 13:53:00) [1]
>Johnmen может и полетит)))
Johnmen (2003-10-02 13:51:00) [2]
>Russko © (02.10.03 13:49)
>...просто не покатит.
а если просто полетит ?
Russko (2003-10-02 13:49:00) [3]
Нет, не слабо, просто не покатит.
MsGuns (2003-10-02 13:47:00) [4]
Да уж, код супертяжелый ! А вот использовать вместо этажерок типа
DataMudule2.Table1.FieldByName().As...
структурных записей (record) или хотя бы конструкции with .. do слабо ?
Russko (2003-10-02 13:45:00) [5]
Всё путём, всем спасибо. Я просто поставил DataModule2.Table3.Append; в начало цикла ивсё)))
DenK_vrtz (2003-10-02 13:37:00) [6]
Круто!!!!
А для копирования данных BatchMove не помогает?
Johnmen (2003-10-02 13:36:00) [7]
Срочно Edit, Append, Post, Next + F1 !!!
Johnmen (2003-10-02 13:33:00) [8]
>Reindeer Moss Eater © (02.10.03 13:04)
>Потому что переход ко второй записи инициирует insert записи в
>таблицу
:)) Кем/чем инициируется ???
Anatoly Podgoretsky (2003-10-02 13:33:00) [9]
Ты создаешь жве пустые записи, а больше одной никак не получится.
Russko (2003-10-02 13:31:00) [10]
До такого я и сам дошёл. Вот сам кусок, где возникает ошибка:
DataModule2.Table2.First;
while not DataModule2.Table2.Eof do begin
DataModule2.DataSource3.Edit;
DataModule2.Table3.FieldByName("N").AsString:=DataModule2.Table2.FieldByName("N").AsString;
DataModule2.Table3.FieldByName("Oboznachenie").AsString:=DataModule2.Table2.FieldByName("Oboznachenie").AsString;
DataModule2.Table3.FieldByName("Material").AsString:=DataModule2.Table2.FieldByName("Material").AsString;
DataModule2.Table3.FieldByName("Priznak").AsString:=DataModule2.Table2.FieldByName("Priznak").AsString;
DataModule2.Table3.FieldByName("Profil").AsString:=DataModule2.Table2.FieldByName("Profil").AsString;
DataModule2.Table3.FieldByName("Width").AsString:=DataModule2.Table2.FieldByName("Width").AsString;
DataModule2.Table3.FieldByName("Height").AsString:=DataModule2.Table2.FieldByName("Height").AsString;
DataModule2.Table3.FieldByName("Number").AsString:=DataModule2.Table2.FieldByName("Number").AsString;
DataModule2.Table2.Next;
DataModule2.Table3.Append;
end;
DenK_vrtz (2003-10-02 13:27:00) [11]
DataModule2.Table2.eof
Russko (2003-10-02 13:25:00) [12]
Извеняюсь, но представьте что я профан. Подскажите какими свойствами воспользоваться???
MsGuns (2003-10-02 13:09:00) [13]
Перед Next проверять конец ли это НД
Russko (2003-10-02 13:08:00) [14]
И как это можно исправить???
Reindeer Moss Eater (2003-10-02 13:04:00) [15]
Потому что переход ко второй записи инициирует insert записи в таблицу в которой нарушается ограничение первичного ключа