Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 10.02.2010, 10:50
graki graki вне форума
Прохожий
 
Регистрация: 10.02.2010
Сообщения: 1
Репутация: 10
По умолчанию Подскажите начинающему! Ошибка при подключении шаблона Excel

Поскажите пожалуйста, что не так в моем запросе. Я пытаюсь создать шаблон и выгружать в негоданные с помощью опредленных 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);

Помогите пожалуйста, очень надо! Решается моя судьба на работе
Ответить с цитированием
  #2  
Старый 10.02.2010, 11:07
Vasuha Vasuha вне форума
Прохожий
 
Регистрация: 04.02.2010
Сообщения: 6
Репутация: 10
По умолчанию

Извиняюсь, а точка с запятой перед этой строкой отсутствует только здесь? Она там весьма нужна
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:10.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025