Форум: "Начинающим";
Текущий архив: 2009.11.15;
Скачать: [xml.tar.bz2];
ВнизПриведение типов Найти похожие ветки
← →
GlowSolnce (2009-09-29 11:03) [0]Написан собственный класс
TRdADOQuery = class(TADOQuery)
private
{ Private declarations }
FSQLSelect:string;
FSQLWhere:string;
FSQLOrder:string;
procedure SQLAssemble;
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
procedure SelectSQL;
property SQLSelect:string read FSQLSelect write FSQLSelect;
property SQLWhere:string read FSQLWhere write FSQLWhere;
property SQLOrder:string read FSQLOrder write FSQLOrder;
published
{ Published declarations }
end;
constructor TRdADOQuery.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
end;
procedure TRdADOQuery.SelectSQL;
begin
SQL.Text:=FSQLSelect+" "+FSQLWhere+" "+FSQLOrder;
Open;
end;
На форме лежит TDBGrid
в событии у кнопки пишу так:
ADOConnection1.Open;
TRdADOQuery(DBGrid.DataSource).SQLSelect:="Select * from ..."; // Отрабатывает ОК
TRdADOQuery(DBGrid.DataSource).SQL.Text:="Select * from tSite"; // Отрабатывает ОК
TRdADOQuery(DBGrid.DataSource).SelectSQL; // Здесь ошибка.
Ошибка заключается в том, что в методе SqlSelect
в строчке
SQL.Text:=FSQLSelect+" "+FSQLWhere+" "+FSQLOrder;
Объект SQL=nil
Как корректно привести типы?
Такое ощущение, что происходит не приведение типов, а создание нового экземпляра.
← →
qwer_qwer (2009-09-29 11:15) [1]
TRdADOQuery(DBGrid.DataSource.DataSet)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.11.15;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.004 c