Форум: "Базы";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
ВнизПереопредение стандартных компонентов Найти похожие ветки
← →
_sulent © (2004-02-25 07:16) [0]Всем здрасти!
Встал такой вопрос, необходимо переопределить класс TQuery в TADOQuery. Как это можно сделать. Вопрос стал так сильно из-за того, что необходимо переписывать большое количество исходного кода. Фактически нужно переопределить класс и метод ParamByName. Ранее программа работала на BDE, а теперь ее необходимо перевести на SQL Server.
Что можете посоветовать бедолагам?
← →
ЮЮ © (2004-02-25 08:17) [1]Прктически всё что надо сам и написал:
в Uses своих модулей вместо DBTables написать UToADO (cм.ниже, или создать свой юнит DBTables и положить "поближе" к проекту), а в нём всего-то:
unit UToADO;
interface
uses ADODB;
type
TQuery = class (TADOQuery)
public
function ParamByName(const Value: string): TParameter;
end;
implementation
{ TQuery }
function TQuery.ParamByName(const Value: string): TParameter;
begin
Result := Parameters.ParamByName(Value);
end;
end.
← →
ЮЮ © (2004-02-25 08:22) [2]Хотя, чтобы и Design-е со свои TQuery, очевидно надо будет его зарегистрировать в палитре компонентов.
← →
Reindeer Moss Eater © (2004-02-25 08:50) [3]Find & Replace в *.pas и *.dfm
← →
_sulent © (2004-02-25 12:15) [4]да, все это хорошо и даже работает, через это все проходили, проблема встала в том, что в АДО он рисует приблизительно так:
ADOQuery.Parameters.ParamByName("code").value := code;
а на БДЕ это все пишется так: Query.ParamByName("code").asInteger := code;
допустим изменим мы это все, а как же быть с типами данных, ведь в АДО они прописаны как Variant, а в БДЕ как типы данных!
← →
Sandman25+1 (2004-02-25 12:24) [5]Значит нужно function ParamByName(const Value: string): TMyParameter;
И соответственно написать TMyParameter наследником TParameter с нужными свойствами.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.034 c