Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу здесь за 20 тыс руб в месяц! alarforum@yandex.ru


Ответ
 
Опции темы
Старый 18.02.2011, 16:24   #1
java_91
Пользователь
 
Регистрация: 11.11.2008
Сообщений: 32
По умолчанию Could not convert variant of type (Olestr) into type (Double)

Здравствуйте, помогите найти - в чем ошибка. Вообще не могу понять.
Код:
procedure ExcelExport(dir,Num,LastID,NumCell : Smallint);
var
  p_cellFirst, p_CellEnd : Variant;      //Второстепеннье переменные номеров ячеек
  p_Stored : TADOStoredProc;
  i,j: integer;
Begin

  DM.ADOQuery2.Close;
  DM.ADOQuery2.Parameters[0].Value:=dir;
  DM.ADOQuery2.Open;
  DM.ADOQuery2.First;

  p_Stored := TADOStoredProc.Create(nil);
  with p_Stored do
  begin
    ConnectionString := 'Provider=SQLOLEDB.1;Integrated Security=SSPI';//.. и тд;
    ProcedureName:=DM.ADOQuery2.FieldByName('процедура').Value;
    Parameters.Clear;
    Parameters.CreateParameter('@nMode', ftSmallint, pdInput, 16, 0);
    Parameters.CreateParameter('@nId', ftInteger, pdInput, 32, 0);
    Parameters.CreateParameter('@cSearch', ftString, pdInput, 254, '');
    Parameters.CreateParameter('@cFields', ftString, pdInput, 1000, '');
    Parameters.CreateParameter('@cFrom', ftString, pdInput, 1000, '');
    Parameters.CreateParameter('@cWhere', ftString, pdInput, 1000, '');
    Parameters.CreateParameter('@cInto', ftString, pdInput, 20, '');
    Parameters.ParamValues['@nMode'] := 0;
    If Num > 1 Then
    Parameters.ParamValues['@cWhere'] := DM.ADOQuery2.FieldByName('Имя выборки').Value + '=' + LastID+')';
    Try
      Open;
      Form1.Memo1.Lines.Add('Открытие процедуры: '+DM.ADOQuery2.FieldByName('процедура').Value+' успешно');
    except
      Form1.Memo1.Lines.Add('Ошибка открытие процедуры: '+DM.ADOQuery2.FieldByName('процедура').Value);
    end;
  end;
  p_Stored.First;
  for i:=1 to p_Stored.RecordCount do
  Begin
    DM.ADOQuery3.First;
    for j:=1 to DM.ADOQuery3.RecordCount do
    Begin
      p_cellFirst := Excel.ActiveWorkBook.WorkSheets[1].Cells[NumCell+i,Num];
      Excel.ActiveWorkBook.WorkSheets[1].Range[p_cellFirst,p_cellFirst] := p_Stored.FieldByName(DM.ADOQuery3.FieldbyName('Название').AsString).Asstring;
      Form1.Memo1.Lines.add(p_Stored.FieldByName(DM.ADOQuery3.FieldbyName('Название').AsString).Asstring);
      DM.ADOQuery3.Next;
    end;
    ExcelExport(dir,Num+DM.ADOQuery3.RecordCount,p_Stored.FieldByName('ID').Value,NumCell+i);
    p_Stored.Next;
  end;
End;
Ошибка происходит в строчке :
Код:
ExcelExport(dir,Num+DM.ADOQuery3.RecordCount,p_Stored.FieldByName('ID').Value,NumCell+i);

Последний раз редактировалось java_91; 18.02.2011 в 16:26.
java_91 вне форума Ответить с цитированием
Старый 18.02.2011, 18:46   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,103
По умолчанию

Вам же написали: вместо переменной-строки вставили переменную-дабл
p51x вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
The type name 'GreenShalControl' does not exist in the type Beton_net WPF, UWP, WinRT, XAML 0 15.02.2011 11:24
Could not convert variant of type (UnicodeString) into type (Double) postaveche БД в Delphi 11 13.12.2010 16:41
Различие смысла в type "type" Alex Cones Общие вопросы Delphi 5 18.04.2010 22:57
New Type Манжосов Денис :) Общие вопросы Delphi 5 30.07.2008 11:34


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840