![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Возникает такая ошибка
Код:
procedure TForm1.Button1Click(Sender: TObject);
Var
I:integer;
begin
Table1.TableName:='cwchecks.dbf';
Table1.Active:= true;
Table1.Open;
IBQuery1.Create(nil);
IBQuery1.SQL.Add('INSERT INTO checks ');
IBQuery1.SQL.Add('(cCheck, cPosincheck, cGood, cKP, cQuantity, cKO, cKodser, cDate)' );
IBQuery1.SQL.Add('VALUES (:cCheck, :cPosincheck, :cGood, :cKP, :cQuantity, :cKO, :cKodser, :cDate)');
IBDatabase1.Open;
IBTransaction1.StartTransaction;
Table1.First;
Table1.FetchAll;
For i:=0 to Table1.RecordCount do
Begin
IBQuery1.ParamByName('cCheck').AsInteger:= Table1.Fields.FieldByName('CHECK').AsInteger;
IBQuery1.ParamByName('cPosincheck').AsInteger:= Table1.Fields.FieldByName('POSINCHECK').AsInteger;
IBQuery1.ParamByName('cGood').AsString:= Table1.Fields.FieldByName('GOOD').AsString;
IBQuery1.ParamByName('cKP').AsString:= Table1.Fields.FieldByName('KP').AsString;
IBQuery1.ParamByName('cQuantity').AsInteger:= Table1.Fields.FieldByName('QUANTITY').AsInteger;
IBQuery1.ParamByName('cKO').AsInteger:= Table1.Fields.FieldByName('KO').AsInteger;
IBQuery1.ParamByName('cKodser').AsInteger:= Table1.Fields.FieldByName('KODSER').AsInteger;
IBQuery1.ParamByName('cDate').AsDateTime:= Table1.Fields.FieldByName('DATE').AsDateTime;
IBQuery1.Open; dвот здесь выскакивает ошибка
Table1.Next;
IBTransaction1.CommitRetaining;
End;
Table1.Close;
Table1.Active:= false;
IBTransaction1.CommitRetaining;
IBTransaction1.Active:=False;
end;lmikle: пользуемся тегами!!! Путь к базе данных указал верно... Может проблема какая при работе firebird с Windows 7? Последний раз редактировалось sergenaro; Вчера в 02:51. |
|
#2
|
|||
|
|||
|
проверяем св-во database у компонента IBQuery1.
Должно указывать на соотв. компонент. |
|
#3
|
||||
|
||||
|
Все просто, вы создаете IBQuery1 и никак его не связываете с IBDatabase1.
|
|
#4
|
|||
|
|||
|
Нет, связываю...И еще, когда пытаешься установить свойство IBDatabese1.Connected=true
выводится ошибка: unvailable database |
|
#5
|
|||
|
|||
|
Значит неправильно введен путь к базе.
или клиент не найден (клиент БД). |
|
#6
|
|||
|
|||
|
А что делать, если клиент не найден?
|
|
#7
|
||||
|
||||
|
Цитата:
Код:
IBQuery1.Create(nil);
IBQuery1.SQL.Add('INSERT INTO checks ');
IBQuery1.SQL.Add('(cCheck, cPosincheck, cGood, cKP, cQuantity, cKO, cKodser, cDate)' );
IBQuery1.SQL.Add('VALUES (:cCheck, :cPosincheck, :cGood, :cKP, :cQuantity, :cKO, :cKodser, :cDate)');
IBDatabase1.Open;
IBTransaction1.StartTransaction;
Table1.First;
Table1.FetchAll;
For i:=0 to Table1.RecordCount do
Begin
IBQuery1.ParamByName('cCheck').AsInteger:= Table1.Fields.FieldByName('CHECK').AsInteger;
IBQuery1.ParamByName('cPosincheck').AsInteger:= Table1.Fields.FieldByName('POSINCHECK').AsInteger;
IBQuery1.ParamByName('cGood').AsString:= Table1.Fields.FieldByName('GOOD').AsString;
IBQuery1.ParamByName('cKP').AsString:= Table1.Fields.FieldByName('KP').AsString;
IBQuery1.ParamByName('cQuantity').AsInteger:= Table1.Fields.FieldByName('QUANTITY').AsInteger;
IBQuery1.ParamByName('cKO').AsInteger:= Table1.Fields.FieldByName('KO').AsInteger;
IBQuery1.ParamByName('cKodser').AsInteger:= Table1.Fields.FieldByName('KODSER').AsInteger;
IBQuery1.ParamByName('cDate').AsDateTime:= Table1.Fields.FieldByName('DATE').AsDateTime;
IBQuery1.Open; dвот здесь выскакивает ошибкаПоследний раз редактировалось Страдалецъ, 21.12.2010 в 12:43. |
|
#8
|
|||
|
|||
|
Указываю напрямую в дизайнере...
|