Форум: "Базы";
Текущий архив: 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 поставил по привычке...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c