list index out of bounds (1)

Алексей Ходыкин
Дата: 28.04.2011 13:55:45
В инспекторе объектов для компонента Query1:TADOQuery в свойстве SQL записано
select * from
temptable
where CopyL=1

далее делаю так:
    Query1.Close;
    Query1.connection :=dm.acTemp;
    Query1.SQL[1]:=stName_temptable+' t'; // Здесь возникает ошибка
    Query1.SQL[2]:='where CopyL=1';
    Query1.SQL[3]:='';
    Query1.Open;

что делаю не правильно?


на компоненте имеется так-же
procedure TForm1.Query1AfterOpen(DataSet: TDataSet);
begin
  DBGridEh1.Columns[3].Footer.Value := IntToStr(Query1.RecordCount);
  UpdateFieldFormats(DBGridEh1);  
  Query1AfterScroll(Query1);
end; 

procedure TForm1.Query1AfterScroll(DataSet: TDataSet);
begin
  DBGridEh1.Columns[2].Footer.Value := IntToStr(Query1.RecNo);
  if Table11.Active then Table11.Locate('sch',Query1['sch'],[loCaseInsensitive]); 
  if Table12.Active then Table12.Locate('sch',Query1['sch'],[loCaseInsensitive]); 
end;
Алексей Ходыкин
Дата: 28.04.2011 13:56:27
комментирую обработчики событий
ошибка та же
Ramin Hashimzade
Дата: 28.04.2011 13:57:39
Query1.SQL.Add()
Алексей Ходыкин
Дата: 28.04.2011 14:00:14
Ramin
Query1.SQL.Add()

мне нужно добраться до второй и третей строки
Gwa
Дата: 28.04.2011 14:01:36
Алексей Ходыкин,
какая ошибка?
Ramin Hashimzade
Дата: 28.04.2011 14:02:20
может просто:

Query1.SQL.Clear

а потом уже:

Query1.SQL.Add(stName_temptable+' t')
Query1.SQL.Add(where CopyL=1)
Алексей Ходыкин
Дата: 28.04.2011 14:02:31
Gwa
Алексей Ходыкин,
какая ошибка?

list index out of bounds (1)
название темы
Gwa
Дата: 28.04.2011 14:03:22
если у Вас нет там строк, то куда ж Вы пытаетесь писать?
Сначала из надо туда добавить, хотя бы пустые..
Начинающий SQL 2008
Дата: 28.04.2011 14:05:38
Алексей Ходыкин,

Попробуйте так:
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL[0] := '';
ADOQuery1.SQL[1] := stName_temptable +' t';
ADOQuery1.SQL[2] := 'where CopyL=1';
ADOQuery1.SQL[3] := '';
ShowMessage(ADOQuery1.SQL[2]);
ADOQuery1.Open;
Gwa
Дата: 28.04.2011 14:05:44
а кроме того строки нумеруются с 0