AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Meldung einer Abfrage in Delphi anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

Meldung einer Abfrage in Delphi anzeigen

Ein Thema von Panschi · begonnen am 1. Feb 2012 · letzter Beitrag vom 2. Feb 2012
Antwort Antwort
Benutzerbild von Panschi
Panschi

Registriert seit: 30. Aug 2011
Ort: Sauerland
51 Beiträge
 
Delphi XE2 Enterprise
 
#1

Meldung einer Abfrage in Delphi anzeigen

  Alt 1. Feb 2012, 08:54
Datenbank: MSQL • Version: 2005 • Zugriff über: ADO
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:
USE MeineDatenbank
SET STATISTICS TIME ON
SELECT * FROM MeineTabelle
SET STATISTICS TIME OFF
Das ganze setze ich nun folgendermaßen in Delphi um:
Delphi-Quellcode:
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;
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?

LG
Warum mögen Frauen OOP-Programmierer? Weil sie Klasse haben
  Mit Zitat antworten Zitat
Benutzerbild von MacGuyver
MacGuyver

Registriert seit: 9. Sep 2003
Ort: Wildeshausen
295 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: Meldung einer Abfrage in Delphi anzeigen

  Alt 1. Feb 2012, 10:14
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
Englisch eine Weltsprache? Zu kompliziert und der nahe Osten würde Englisch als Pflichtweltsprache nicht akzeptieren.
IDO wäre genau das Richtige: http://forum.idolinguo.de/index.php oder www.idolinguo.de
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

AW: Meldung einer Abfrage in Delphi anzeigen

  Alt 1. Feb 2012, 10:17
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: Meldung einer Abfrage in Delphi anzeigen

  Alt 1. Feb 2012, 10:19
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.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#5

AW: Meldung einer Abfrage in Delphi anzeigen

  Alt 1. Feb 2012, 10:25
Dann ist ExecSQL aber wahrscheinlich die falsche Option, oder?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Panschi
Panschi

Registriert seit: 30. Aug 2011
Ort: Sauerland
51 Beiträge
 
Delphi XE2 Enterprise
 
#6

AW: Meldung einer Abfrage in Delphi anzeigen

  Alt 1. Feb 2012, 10:30
Schonmal danke für die Antworten!

Ich öffne das Query nun ganz normal mit
qryAuswertung.open; Nun müsste ich dann ja das nächste Recordset auswählen, jedoch weiß ich nicht welche Vaiable ich als RecordsAffected einsetzen soll.
Warum mögen Frauen OOP-Programmierer? Weil sie Klasse haben
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Meldung einer Abfrage in Delphi anzeigen

  Alt 1. Feb 2012, 10:31
Dann ist ExecSQL aber wahrscheinlich die falsche Option, oder?
Ja. Liefert ja kein Recordset zurück
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Panschi
Panschi

Registriert seit: 30. Aug 2011
Ort: Sauerland
51 Beiträge
 
Delphi XE2 Enterprise
 
#8

AW: Meldung einer Abfrage in Delphi anzeigen

  Alt 1. Feb 2012, 10:46
Ja. Liefert ja kein Recordset zurück
Habe Ich auf qryAuswertung.Open geändert.

Wie handhabe Ich das mit
qryAuswertung.NextRecordSet(????);
Warum mögen Frauen OOP-Programmierer? Weil sie Klasse haben
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: Meldung einer Abfrage in Delphi anzeigen

  Alt 1. Feb 2012, 10:57
Hatten wir gerade erst http://www.delphipraxis.net/166117-r...-new-post.html
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Panschi
Panschi

Registriert seit: 30. Aug 2011
Ort: Sauerland
51 Beiträge
 
Delphi XE2 Enterprise
 
#10

AW: Meldung einer Abfrage in Delphi anzeigen

  Alt 2. Feb 2012, 08:24
sry, dass ich so spät antworte, musste gestern noch kurzfristig zu einem Kunden... Werde mir den Quellcode mal genauer ansehen!
Warum mögen Frauen OOP-Programmierer? Weil sie Klasse haben
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz