Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.25;
Скачать: CL | DM;

Вниз

Что бы это значило :   Найти похожие ветки 

 
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 поставил по привычке...



Страницы: 1 вся ветка

Текущий архив: 2002.04.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
14-81071
Алексей Петров
2002-03-18 16:54
2002.04.25
Периодически пролетает


3-80742
diMAN
2002-03-29 18:45
2002.04.25
Прогресс-бар при выполнении длительных SQL-запросов


1-80984
Sat7
2002-04-12 11:59
2002.04.25
Есть дерево. Но не бинарное. :)


1-80988
Катерина
2002-04-10 16:23
2002.04.25
Про Chart


1-80956
kopachev
2002-04-11 14:46
2002.04.25
Почему не появляется текст в ячейке AdvStringGrid.