Einzelnen Beitrag anzeigen

af99

Registriert seit: 22. Apr 2004
84 Beiträge
 
Delphi XE5 Ultimate
 
#3

AW: Zugriff auf MYSQL per DBExpress

  Alt 30. Nov 2015, 12:51
ich hab den Fehler gefunden. die Parameter waren an der falschen Stelle. Dann habe ich das Statement noch so umbauen müssen
Delphi-Quellcode:
        SQLQuery1.SQL.Add('SELECT nagios_services.display_name, sum(TIME_TO_SEC(TIMEDIFF(nagios_servicechecks.end_time, nagios_servicechecks.start_time))) as ausfallzeit ');
        SQLQuery1.SQL.Add('FROM nagios_hosts ');
        SQLQuery1.SQL.Add('inner join nagios_services on nagios_services.host_object_id = nagios_hosts.host_object_id ');
        SQLQuery1.SQL.Add('inner join nagios_servicechecks on nagios_servicechecks.service_object_id = nagios_services.service_object_id ');
        SQLQuery1.SQL.Add(imc);
        SQLQuery1.SQL.Add('where nagios_services.display_name like ' + quotedstr(like_service));
        SQLQuery1.SQL.Add(' and nagios_servicechecks.state = 2 and ');
        SQLQuery1.SQL.Add('TIME_TO_SEC(TIMEDIFF(now(), nagios_servicechecks.start_time)) < ' + start_crit + ' ');
        SQLQuery1.SQL.Add('group by nagios_services.display_name ');
        SQLQuery1.SQL.Add('having sum(TIME_TO_SEC(TIMEDIFF(nagios_servicechecks.end_time, nagios_servicechecks.start_time))) > ' + sum_dif_s_e);
mit einem Add klappte es nicht.

Nun habe ich aber das Problem das das "SQLQuery1.RecordCount" mir die falsche Anzahl an Datensätzen zurück gibt.

Ich bin Deinem Rat gefolgt und gebe mit das Statement an der Konsole aus. mit diesem erhalte ich im MYSQL Query Browser z.B.: 0 Datensätze. in meinen Delphi Programm mit dem gleichen Statement sagt mein Record Count aber 40!
Wie kann das den sein?
  Mit Zitat antworten Zitat