![]() |
Datenbank: MSQL • Version: 2005 • Zugriff über: ADO
Meldung einer Abfrage in Delphi anzeigen
Hallo Forum,
Ich implementiere momentan eine kleine "Extra"-Funktion, welche ein schon vorhandenes Projekt erweitern soll. Es handelt sich um einen kleinen Performance Test, welcher die Ausführungszeit einer SQL Anweisung ausgibt und diese dann mit einer anderen Tabelle vergleicht. Den SQL-Code selber habe ich bereits:
Code:
Das ganze setze ich nun folgendermaßen in Delphi um:
USE MeineDatenbank
SET STATISTICS TIME ON SELECT * FROM MeineTabelle SET STATISTICS TIME OFF
Delphi-Quellcode:
In dem SQL Management Studio wird außer den Ergebnissen auch die erstelle Statistik unter "Meldungen" ausgegeben! Gibt es eine Möglichkeit diese auch in Delphi ausgeben zu lassen?
function TfrmPerformance.Auswertung(var Con: TADOConnection;
cb: TDBLookUpComboBox): string; begin qryAuswertung.Connection := Con; qryAuswertung.SQL.Clear; qryAuswertung.SQL.Add('USE ' + (Con.DefaultDatabase)); qryAuswertung.SQL.Add('SET STATISTICS TIME ON'); qryAuswertung.SQL.Add('SELECT * FROM ' + cb.KeyValue); qryAuswertung.SQL.Add('SET STATISTICS TIME OFF'); qryAuswertung.ExecSQL; qryAuswertung.Close; LG |
AW: Meldung einer Abfrage in Delphi anzeigen
Moin,
ließ doch vor ExecSQL GetTicksCount aus und danach noch einmal. Den einen Wert vom anderen abziehen und du hast die Millisekunden, die der Aufruf gebraucht hat. Stefan |
AW: Meldung einer Abfrage in Delphi anzeigen
Das muss aber nicht der gleiche Wert sein. Der Query liefert wohl die Dauer des Queries auf dem Server. Macht man es so wie du, hast du die Ausführungszeit und die Übertragung zum Client gemessen.
|
AW: Meldung einer Abfrage in Delphi anzeigen
Die Rückgabe einer ADOQuery ist ein Recordset und das besteht aus mehreren Tabellen, pro Query im Skript eine. Du kannst mit NextRecordset zur nächsten Ausgabe navigieren.
|
AW: Meldung einer Abfrage in Delphi anzeigen
Dann ist ExecSQL aber wahrscheinlich die falsche Option, oder?
|
AW: Meldung einer Abfrage in Delphi anzeigen
Schonmal danke für die Antworten!
Ich öffne das Query nun ganz normal mit
Delphi-Quellcode:
Nun müsste ich dann ja das nächste Recordset auswählen, jedoch weiß ich nicht welche Vaiable ich als RecordsAffected einsetzen soll.
qryAuswertung.open;
|
AW: Meldung einer Abfrage in Delphi anzeigen
Zitat:
|
AW: Meldung einer Abfrage in Delphi anzeigen
Zitat:
Delphi-Quellcode:
geändert.
qryAuswertung.Open
Wie handhabe Ich das mit
Delphi-Quellcode:
qryAuswertung.NextRecordSet(????);
|
AW: Meldung einer Abfrage in Delphi anzeigen
Hatten wir gerade erst
![]() |
AW: Meldung einer Abfrage in Delphi anzeigen
sry, dass ich so spät antworte, musste gestern noch kurzfristig zu einem Kunden... Werde mir den Quellcode mal genauer ansehen!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz