Die Abfragen werden dynamisch erstellt:
Delphi-Quellcode:
FBOS6000_DB.DoSelectQuery('SELECT MAX(protRecord_ID) ' +
'FROM [WeldMeasureProt_T] ' +
'WHERE [timerName]=''' + FWeldingControl.Name + ''' AND ' +
'[progNo]=' + IntToStr(FRobotSpot.WeldingProgNo));
Die Abfrage in der aufgerufenen Prozedur sieht folgendermaßen aus:
Delphi-Quellcode:
function TADODatabase.DoSelectQuery(
Query:
String): Boolean;
var StartTime: Double;
begin
if (ADOConnection.Connected)
then
begin
StartTime := Now;
try
ADOQuery.Active := False;
ADOQuery.SQL.Clear;
ADOQuery.SQL.Add(
Query);
ADOQuery.Active := True;
ADOQuery.First;
Result := True;
except
on E:
Exception do
begin
ShowErrorMessage('
SQL Fehler in: "' +
Query + '
" auf ' + ServerName
+ '
Grund: ' + IntToStr(E.HelpContext) + '
"' + E.
Message + '
"');
Result := False;
end;
end;
FQueryActivity.NewQueryExecution(
Query, Now - StartTime);
end
else
Result := False;
end;