![]() |
Datenbank: SQL-Server • Version: 2000 • Zugriff über: BDE
BDE TQuery.Edit --> Select * From Table
Hallo,
ich hatte vor einiger Zeit festgestellt, dass eine TQuery beim ausführen der Routine "Edit" in manchen Fällen ein "Select * From Table" Statement ausführt. Gerade bei der Arbeit mit grossen Datenmengen kann das sehr störend sein. Da die Problematik aber etwas länger zurückliegt, und ich nicht mehr so recht weiss, wie und wann und ob das tatsächlich geschieht, richte ich meine Frage an euch. Kennt jemand diese Problematik, lässt sich das umgehen, und ggf. woran könnte es liegen? Vielen Dank im Vorraus jethark |
Re: BDE TQuery.Edit --> Select * From Table
Die BDE stilllegen.
|
Re: BDE TQuery.Edit --> Select * From Table
Das obliegt nicht meiner Macht
|
Re: BDE TQuery.Edit --> Select * From Table
Zitat:
|
Re: BDE TQuery.Edit --> Select * From Table
Hallo,
das Edit macht meines Erachtens keinen Sinn. Ich benutze zum Edit immer eine Extra-Query. Heiko |
Re: BDE TQuery.Open --> Select * From Table
@Bernhard Geyer
Also das muss ich an der Stelle schon mal loswerden. Lemminge ![]() stuerzen sich nicht in Abgründe, dass ist nur eine Legende. :warn: Persönliche umgehe ich natürlich auch die BDE, aber geschäftlich kann man nicht immer das machen, was man tun möchte, zum. wenn man nicht sein eigener Chef ist. Oft geht es dabei um Wirtschaftlichkeit, freie Ressourcen, usw. . Die Situation ist nun halt mal die BDE. Wir (Arbeit, ich) haben heute festgestellt, dass das "Select * From Table" nicht beim Edit abgesetzt wird, sondern beim ersten Open der Query. Vielleicht kennt das ja jemand? |
Re: BDE TQuery.Edit --> Select * From Table
Schau dir mal den Code von TQuery an. Vielleicht wirst du dann fündig.
|
Re: BDE TQuery.Edit --> Select * From Table
Hallo,
die Total-Selektion gehört eigentlich zum Open() der TTable-Komponente. Hast du eventuell irgendwo eine solche Komponente im Einsatz? Andernfalls: Kannst du an der Stelle, an der das SELECT * abgesetzt wird, anhalten und überprüfen, dass nicht irgendwann genau dieses unerwünschte SQL-Statement (z.B. über den Object Inspector) zugewiesen wurde? Grüße vom marabu |
Re: BDE TQuery.Open --> Select * From Table
Zitat:
Zitat:
Zitat:
|
Re: BDE TQuery.Edit --> Select * From Table
Hallo,
bei der BDE gibt es den SQL-Monitor, gehe mal stückweise vor, dann siehst du die Stelle. Heiko |
Re: BDE TQuery.Edit --> Select * From Table
Zitat:
|
Re: BDE TQuery.Edit --> Select * From Table
@Bernhard Geyer
Zitat:
meisten Fällen sinnvoll auf neue Pendants umzusteigen. Aber es gibt eben auch andere Fälle, ein Beispiel hast Du ja gerade geliefert. Ich hoffe wir können diese müssige Diskussion damit beenden. @all Danke für eure Antworten. Ich komme wohl nicht drumrum mir den Quelltext von der TQuery anzusehen. Ich habe das übrigens dem SQL-Profiler entnommen. Es tritt auch in Testprojekten direkt beim Open auf. Allerdings nur wenn die Query RequestLive True ist.
Delphi-Quellcode:
Ergebnis im Profiler:
procedure TForm2.Button1Click(Sender: TObject);
var lQuery: TQuery; begin lQuery := TQuery.Create(self); try lQuery.DatabaseName := 'TestDSN'; lQuery.SQL.CommaText := 'SELECT * FROM TABLE_1 where spalte1 = 5'; lQuery.RequestLive := True; lQuery.Open; finally lQuery.Free; end; end; SELECT * FROM "Table_1" SELECT * FROM "Table_1" SELECT * FROM "Table_1" SELECT * FROM "Table_1" SELECT "spalte1" FROM "Table_1" WHERE ("spalte1") = (5) SELECT "spalte1" FROM "Table_1" WHERE ("spalte1") = (5) SELECT "spalte1" FROM "Table_1" WHERE ("spalte1") = (5) SELECT "spalte1" FROM "Table_1" WHERE ("spalte1") = (5) |
Re: BDE TQuery.Edit --> Select * From Table
o.k. das passiert wohl alles innerhalb folgendem Routinenaufrufs
Delphi-Quellcode:
Die Routine ist leider in der BDE.pas und die habe ich leider nicht.
DbiQAlloc(DBHandle, qrylangSQL, FStmtHandle)
|
Re: BDE TQuery.Edit --> Select * From Table
Gehst du nun über SQL-Links oder über ODBC? Kannst du auch mal den anderen Weg probieren?
Kann es sein das über die Abfrage ohne Filter + Felder die BDE einfach nur die Liste der Felder in der Tabelle bestimmen will? Hängen evtl. an der Query ein Grid mit persistenten Feldtypen? |
Re: BDE TQuery.Edit --> Select * From Table
Ich würde mich an deiner Stelle doch mal andere Komponenten ansehen
![]() |
Re: BDE TQuery.Edit --> Select * From Table
Über ODBC sowohl mit Native Client als auch SQL-Server Treiber.
Auf den SQL-Servern 2000 und 2005. Gleiches kann man aber auch bei DB2 für iSeries und AS400 beobachten. Wie im obigen Beispiel hängt an der Query nichts dran. Ich vermute auch mal das hier Felddefinitionen abgefragt werden. SDAC klingt sehr interessant unterstützt aber wohl nur SQL-Server. Was habt ihr den für Erfahrungen bei der Migration auf ADO gemacht, oder welche grossen Probleme könnten sich da auftun? |
Re: BDE TQuery.Edit --> Select * From Table
SDAC ist nur für MSSQL. Es gibt aber auch noch Kompos für andere DBMS:
![]() Oder ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:21 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