Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 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,695
По умолчанию

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


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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 23:57
New Type Манжосов Денис :) Общие вопросы Delphi 5 30.07.2008 12:34