Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];




Вниз

Что бы это значило : 


Mikeee   (2002-04-03 16:21) [0]

Подскажите, уважаемые мастера! При попытке занести данные в две таблицы выдается такое сообщение. В одну таблицу данные сохраняются методом Post. А в другую отдельным параметрическим запросом, причем один из параметров надо брать из толко что сохраненной записи из первой таблицы, другой параметр - текущая дата, третий параметр берется из третьей таблицы отдельным запросом... прмерно так:

procedure TFormMain.ButtonSaveSotrClick(Sender: TObject);
var
resulttrans:byte;
begin
resulttrans:=0;
ADOConnection1.BeginTrans;
Try
ADOQuerySotrudnic.Post;
Except
ADOConnection1.RollbackTrans;
ADOQuerySotrudnic.cancel;
resulttrans:=1;
MessageDlg("Невозможно добавить данные !", mtError, [mbOk],0);
end;
FormDolgOrder.ADOQueryDolgOrder.close;
FormDolgOrder.ADOQueryDolgOrder.SQL.Clear;
FormDolgOrder.ADOQueryDolgOrder.Parameters[0].Value:=Date;
FormDolgOrder.ADOQueryDolgOrder.Parameters[1].Value:=
ADOQuerySotrudnic.FieldByName("id_sotr").AsInteger;
FormDolgOrder.ADOQueryDolgOrder.Parameters[2].Value:=
FormDolgList.ADOQueryDolgnost.SQL.Add
("Select id_dolg from DOLGNOST were dolg_name="+DBLuCBDolg.Text);
if EditCategory.Text<>"" then
FormDolgOrder.ADOQueryDolgOrder.Parameters[3].Value:=StrToInt(EditCategory.Text)
else
FormDolgOrder.ADOQueryDolgOrder.Parameters[3].Value:=NULL;
FormDolgOrder.ADOQueryDolgOrder.SQL.Add("Insert into Dolgnost_order ");
FormDolgOrder.ADOQueryDolgOrder.SQL.Add("(date, id_sotr, id_dolg, category)");
FormDolgOrder.ADOQueryDolgOrder.SQL.Add("values (:date, :id_sotr, :id_dolg, :category)");
Try
//FormDolgOrder.ADOQueryDolgOrder.open;
FormDolgOrder.ADOQueryDolgOrder.ExecSQL;
Except
ADOConnection1.RollbackTrans;
resulttrans:=1;
MessageDlg("Невозможно добавить данные !", mtError, [mbOk],0);
end;


Может я накуролесил тут слишком или ещё что..?



Mikeee   (2002-04-03 16:35) [1]

Упс... добавочка.

if resulttrans = 0 then ADOConnection1.CommitTrans;
ADOQuerySotrudnic.cancel;
ADOQuerySotrudnic.close;
FormDolgOrder.ADOQueryDolgOrder.close;
FormDolgList.ADOQueryDolgnost.close;



Nikolay M.   (2002-04-03 18:38) [2]

хм...
А чего ты хотел?
Сначала делаешь .ADOQueryDolgOrder.SQL.Clear, а потом пытаешься работать с пустым запросом .ADOQueryDolgOrder.Parameters[0].Value, хотя у тебя параметров вообще не существует.

А "List index out of bounds(0)" возникает всегда, при попытке обратиться к несуществуюшему элементу списка. В данном случае - к нулевому.



Mikeee   (2002-04-04 16:21) [3]

Вот спасибо! Свежим глазом то оно виднее.
А Query.SQL.Clear поставил по привычке...




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.016 c
1-80904           Back                  2002-04-13 03:56  2002.04.25  
MDI


1-80932           Aleksandr             2002-04-11 13:36  2002.04.25  
Млин, не могу в LParam засунуть данные...


1-81000           stormick              2002-04-12 19:35  2002.04.25  
Кнопка на рабочем столе....


14-81070          savva                 2002-03-20 10:37  2002.04.25  
Товарищи!! У нас есть возможность отличиться! (и пивка стребовать на халяву о-)) )


6-81024           reki                  2002-02-14 15:59  2002.04.25  
ФТП сервер?