![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ADO.Parameters [D5, D6, Win2k, WinXP]
FireWorks © (2002-10-25 11:14:00)Вообще ничего не пойму, привожу код процедуры:
procedure TfrmReport.cmdRudReportClick(Sender: TObject);
var lStr : WideString; //переменная для параметра запроса
s1 : String; // запрос к БД№2 для вытаскивания sql запоса
sqlstring : WideString; // текст sql запроса
begin
txtSQL.Clear;
lStr := InputBox(frmReport.cbReportName.Text,frmReport.cbReportParameter.Text,"");
s1 := "select * from intruder_rb_sql where irs_handle = " +
mdata.adoq.fieldbyname("irh_id").AsString + " and irs_param = " + mdata.adoqSQL.fieldbyname("irp_id").AsString;;
mdata.adoqRez.Close;
mdata.adoqRez.SQL.Clear;
mdata.adoqRez.SQL.Add(s1);
mdata.adoqRez.Active := true;
sqlstring := mdata.adoqRez.fieldbyname("irs_sql").AsString;
mdata.adoqR.Close;
mdata.adoqR.SQL.Clear;
MData.adoqR.Parameters.Items[0].Value := lStr; // вот после второго подряд запроса бывает ошибку запроса index list out of bounds(0), что делать?
mdata.adoqR.SQL.Add(sqlstring);
frmReport.Update;
mdata.adoqR.Active := true;
mdata.adoqR.Parameters.Items[0].Value := null;
frmReport.gView.Visible := true;
frmReport.gView.DataSource := mdata.dsR;
frmReport.cmdPrint.Enabled := true;
frmReport.cmdQuickReport.Enabled := true;
end;
jonik pegas (2002-10-25 11:45:00) [1]после mdata.adoqR.SQL.Add(sqlstring) параметры все равно обнулятся. Параметры лучше создавать вручную, через AddParametr.
stone (2002-10-25 11:36:00) [2]> mdata.adoqR.Close;
> mdata.adoqR.SQL.Clear;
здесь после очистки текста запроса исчезают и параметры, поэтому следующая строка приводит к ошибке, поэтому следует поставить mdata.adoqR.SQL.Add(sqlstring) перед ней, а не после
> MData.adoqR.Parameters.Items[0].Value := lStr; // вот после >второго подряд запроса бывает ошибку запроса index list out of >bounds(0), что делать?
> mdata.adoqR.SQL.Add(sqlstring);
> frmReport.Update;
> mdata.adoqR.Active := true;