Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как добавить записи в таблицу с ключевыми полями? [D7, Paradox]


ra4fcr ©   (2004-07-15 15:54:00) 

Есть таблица Paradox в которой первые четыре поля ключевые. Как добавить записи в эту таблицу из другой точно такой-же по структуре, в которой есть записи и присутствующие в первой таблице, и новые.
При попытке добавления записи, которая уже существует, выдается ошибка Key violation.
Как быть?


Johnmen   (2004-07-15 16:54:00) [1]

>ra4fcr ©   (15.07.04 16:49) [3]

Ты только не обижайся, но тебе обязательно надо что-то почитать по программированию БД, а то много принципиальных ошибок...


ra4fcr   (2004-07-15 16:49:00) [2]

Ну примерно вот так:

 Table1.TableName := 'c:\TOK\PARADOX\STOK\kwh30.db' ;
 Table1.Active := True ;
 Table2.TableName := 'c:\PDOXWIN\BOXT\v30.db' ;
 Table2.Active := True ;
 Table2.First ;
 rcount := Table2.RecordCount ;
 for i := 1 to rcount do begin
   with Table1 do begin
     AppendRecord([Table2.FieldByName('sample_date').AsDateTime,
       Table2.FieldByName('TIME_INT_CODE').AsInteger,
       Table2.FieldByName('OBJECT_CODE').AsInteger,
       Table2.FieldByName('NODE_CODE').AsInteger,
       Table1.FieldByName('SAMPLE_VALUE').AsFloat,
       Table2.FieldByName('STATUS_CODE').AsInteger]) ;
   end ;
   Table2.Next ;
 end ;


> так вот у тебя и возникает конфликт по ключевым полям

Так в том то и фикус - как обойти это дело?


Соловьев   (2004-07-15 16:23:00) [3]


>  присутствующие в первой таблице, и новые.

так вот у тебя и возникает конфликт по ключевым полям


Johnmen   (2004-07-15 16:01:00) [4]

>При попытке добавления записи

Как пытаешься ?

>выдается ошибка Key violation.

Любую ошибку можно обойти...:)


Наверх

Титульная страница Поиск, карта сайта Написать письмо