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

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

Master table open operation failed [D6, Paradox]


Ivan ©   (2004-03-24 11:25:00) 

возникает при вызове метода Insert подчиненной таблицы.


Соловьев   (2004-03-24 18:09:00) [1]

у conv.db грохни индекс и построй его заново. Попробуй через SQL Exploer с помощью SQL


Ivan   (2004-03-24 17:59:00) [2]

не получается открыть для реструктуризации таблицу conv - то же сообщение


Соловьев   (2004-03-24 17:45:00) [3]

Как и создал - DataBaseDescktop


Ivan   (2004-03-24 17:35:00) [4]

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

Как связи поотменять?


Соловьев   (2004-03-24 16:51:00) [5]

ты же создал на физ. уровне эту связь?
Может что-то с индексами?


Ivan   (2004-03-24 16:48:00) [6]

Мастер таблица закрыта.
Связь один ко многим, то есть одной записи в таблице clients соответствует много записей в таблице conv.

Я даже из SQL Explorer-а не могу посмотреть данные таблицы conv. То же сообщение Master table open operation failed.
Table: clients.db


Johnmen   (2004-03-24 14:05:00) [7]

1. Открыта ли Мастер таблица ?
2. Как осуществлена связь ?


Ivan   (2004-03-24 13:53:00) [8]

вот здесь наполняется Master table из текстового файла:
OpenDialog1.Title := 'ID фирм';
 if OpenDialog1.Execute and FileExists(OpenDialog1.FileName)
 then begin
   AssignFile(f1,OpenDialog1.FileName);
   Reset(f1);

   while not eof(f1) do
   begin
     readln(f1, IDClient, nameclient);
     if ((IDClient[6] = ' ') and (not (IDClient[13] = ' ')))
     then begin
     dm.clients.Open;
     dm.clients.Insert;

       dm.clients['IDClient'] := strtoint(idclient + '2');
       dm.clients['NameClient'] := nameclient;
       dm.clientschecked.AsBoolean := false;

     dm.clients.post;
     dm.clients.close;
     end;
   end;

   Closefile(f1);
 end;


а вот здесь у меня вылетает вышеуказанный error:

dm.conv.Open;
      dm.conv.Insert;

      dm.conv['Date'] := strtodate(date);
      dm.conv['Time'] := strtotime(time);
      dm.conv['CardNumber'] := inttostr(strtoint(cardnumber));
      dm.conv['IDClient'] := strtoint(inttostr(strtoint(idclient))+
           inttostr(strtoint(idprin)));
      dm.conv['IDKosh'] := strtoint(idkosh);
      dm.conv['IDTMC'] := strtoint(idtmc);
      dm.conv['IDOper'] := strtoint(idoper);
      dm.conv['Kolvo'] := strtofloat(kol);
      dm.conv['Summa'] := strtofloat(sum);
      dm.conv['Emitentsklad'] := strtoint(floattostr(strtofloat(emto)));
      dm.conv['Terminal'] := strtoint(idto);
      dm.conv.post;
      dm.conv.Close;


таблица conv связана с таблицей clients по полю IDClient.


Johnmen   (2004-03-24 12:33:00) [9]

Побольше исходных данных не помешает...


Наверх

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