|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Ошибка: databese not assigned
Возникает такая ошибка
Код:
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
|
|||
|
|||
Указываю напрямую в дизайнере...
|