Fastscript и Tfdquery
Всем привет, прошу помощи в проблеме C fs работаю впервые
1) Использую Delphi 10.2
2) Есть БД MySQL + FireDAC
3) Нужно добавить возможность создавать скрипты которые выполняли запросы к БД
В качестве коннектора использую такой код:
function TDM_SCRIPTS.Run(AScript:TstringList):boolean;
скрипт выполняю следующий:
все время выходит ошибка что метод q.Open Не определен
1) Использую Delphi 10.2
2) Есть БД MySQL + FireDAC
3) Нужно добавить возможность создавать скрипты которые выполняли запросы к БД
В качестве коннектора использую такой код:
function TDM_SCRIPTS.Run(AScript:TstringList):boolean;
begin
q := TFDQuery.Create(nil);
q.Connection := DM_BASE.dbConnect;
fsScript.Clear; // надо очищать компонент, если он используется для запуска нескольких скриптов
fsScript.Lines := AScript;
fsScript.Parent := fsGlobalUnit;
fsScript.SyntaxType := 'PascalScript';
fsScript.AddedBy := Self;
fsScript.AddClass(TFDQuery,'TFDCustomQuery');
fsScript.AddObject('q',q);
if fsScript.Compile then begin
fsScript.Execute;
result:=fsScript.Variables['REZ'];
end
else begin
ShowMessage(fsScript.ErrorMsg+' at '+fsScript.ErrorPos);
result:=false;
end;
q.Free;
end;
скрипт выполняю следующий:
var REZ:boolean;
_beg,_end,clientid:String;
c:integer;
begin
_beg:='2017-01-01 00:00:00';
_end:='2019-01-01 00:00:00';
clientid:='44';
q.sql.Text:=
//'SET @start = '''+_beg+'''; '+
//'SET @end = '''+_end+'''; '+
'SELECT * from s_journal '+
'WHERE clientid='+clientid+' AND '+
'( '+
' (`dtstart` >= '''+_beg+''' AND `dtstart` < '''+_end+''') '+
' OR '+
' (`dtend` <= '''+_end+''' AND `dtend` > '''+_beg+''') '+
' OR '+
' (`dtstart` < '''+_end+''' AND `dtend` > '''+_beg+''') '+
' OR '+
' (`dtstart` >= '''+_beg+''' AND `dtend` <= '''+_end+''') '+
');';
//showmessage(q.SQL.Text);
q.Open();
if q.RecordCount>0 then
REZ:=True
else
REZ:=False;}
end.
все время выходит ошибка что метод q.Open Не определен
Комментарии
а при добавлении класса указать его родителя, я указал
и оказалось что в классе TFDQuery нет метода Open. Нет его и в родителе, (и даже у дедушки нету)а гораздо раньше наследуется.
вопрос, как быть, и что я не правильно делаю?