Подскажите начинающему!

Тема в разделе "Delphi - Базы данных", создана пользователем graki, 10 фев 2010.

Статус темы:
Закрыта.
  1. graki

    graki Гость

    Поскажите пожалуйста, что не так в моем запросе. Я пытаюсь создать шаблон и выгружать в негоданные с помощью опредленных SQL-запросов... Но программка выдает ошибку.
    Код (Text):
    procedure TForm1.Button3Click(Sender: TObject);
    var
    stat:textfile;
    sSql,path,SColname:string;
    BeginCol, BeginRow,i,j,iBool:integer;
    RowCount, ColCount : integer;
    ExcelApp, Workbook, Range, Cell1, Cell2, ArrayData : Variant;
    TemplateFile: String;

    begin
    //координаты левого верхнего угла области в которую вводятся данные
    BeginCol:=2;
    BeginRow:=5;

    //размеры выводимого массива данных
    RowCount:=1;
    ColCount:=4;

    //создание Эксель
    ExcelApp:=CreateOleObject('Excel.Application');

    //отключанием реакцию Эксель на события, чтобы ускорить вывод
    ExcelApp.Application.EnableEvents:=false;
    //открываем шаблон
    Workbook:=ExcelApp.WorkBooks.Add('c:\Documents and Settings\kundik\Рабочий стол\Копия Копия programm\Книга1.xls')
    //создаем вариантный массив который заполним данными
    ArrayData:= VarArrayCreate([0,RowCount,0,ColCount], varVariant);
    //делаем Эксель видимым
    ExcelApp.Visible:=true;
    for i:=0 to listbox1.Items.Count do
    begin
    assignfile(stat,getcurrentdir+'\stat.sql');
    reset(stat);
    //подключение к базе
    j:=1;
    if (i mod 2)=1 then
    begin
    ibdatabase1.Connected:=false;
    ibdatabase1.DatabaseName:=listbox1.Items[i];
    try
    ibdatabase1.Connected:=true;
    except
    listbox2.Items.Add(listbox1.Items[i-1]);
    listbox2.Items.Add(listbox1.Items[i]);
    listbox2.Items.Add('Ошибка подключения');
    listbox2.Items.Add('*********************');
    listbox1.Refresh;
    listbox2.Refresh;
    end;

    while not EOF(stat) do {Всё что находиться до /* является запросом}
    begin
    readln(stat,sSql);
    ibquery1.Active:=false;
    if pos('/*',sSql)<=0 then
    begin
    ibquery1.SQL.Text:=ibquery1.SQL.Text+sSql;
    end
    else
    begin
    iBool:=1;
    sColname:=sSql;
    //showmessage(ibquery1.SQL.Text);
    end;
    if iBool=1 then
    begin
    ibquery1.Active:=true;
    ExcelApp.ActiveWorkBook.WorkSheets[1].Cells[1, i+1]:=ibdatabase1.DatabaseName;
    ExcelApp.ActiveWorkBook.WorkSheets[1].Cells[j+1, i+1]:=ibquery1.fieldbyname('col').AsString;
    j:=j+1;
    iBool:=0;
    ibquery1.SQL.Clear;
    end;
    end;
    closefile(stat);
    end;
    end;
    Ошибка возникает на строчке:
    Код (Text):
    //создаем вариантный массив который заполним данными
    ArrayData:= VarArrayCreate([1,RowCount,1,ColCount], varVariant);
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей