Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.28;
Скачать: CL | DM;

Вниз

Переопредение стандартных компонентов   Найти похожие ветки 

 
_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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.035 c
14-1078160755
Yorick
2004-03-01 20:05
2004.03.28
Soft для Siemens A60


3-1077826916
HeoGtan
2004-02-26 23:21
2004.03.28
Как узнать текущее имя поля и его номер


6-1073649790
Iks
2004-01-09 15:03
2004.03.28
Как отправить звук от микрофона по сети


1-1078496814
PiratA
2004-03-05 17:26
2004.03.28
Runtime Eror :(


1-1078606263
Mim
2004-03-06 23:51
2004.03.28
создание в delphi mdichild окон в отдельном потоке