1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

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

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

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

    graki Гость

    Репутация:
    0
    Поскажите пожалуйста, что не так в моем запросе. Я пытаюсь создать шаблон и выгружать в негоданные с помощью опредленных SQL-запросов... Но программка выдает ошибку.
    Код:
    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;
    Ошибка возникает на строчке:
    Код:
    //создаем вариантный массив который заполним данными
    ArrayData:= VarArrayCreate([1,RowCount,1,ColCount], varVariant);
     
Загрузка...
Статус темы:
Закрыта.

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