Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi BDE TQuery.Edit --> Select * From Table (https://www.delphipraxis.net/104423-bde-tquery-edit-select-%2A-table.html)

Bernhard Geyer 5. Dez 2007 08:42

Re: BDE TQuery.Edit --> Select * From Table
 
Zitat:

Zitat von hoika
bei der BDE gibt es den SQL-Monitor,

Ist der nicht nur für die SQL-Links zu verwenden? Und beim MS SQL-Server sind ja die SQL-Links noch problematischer da hier nur eine Uraltschnittstelle des MS SQL-Servers verwendet wird.

jethark 5. Dez 2007 19:26

Re: BDE TQuery.Edit --> Select * From Table
 
@Bernhard Geyer
Zitat:

Sollte ein Programm länger als 2-3 Jahre "Restlebenszeit" haben ist es wirtschaftich nicht zu vertreten die BDE zu behalten! Jedenfalls nicht dann wenn währen der Zeit des öfteren das Produkt auf weiteren PC installiert wird.
Ich stimme Dir ja auch vollkommen zu das die BDE veraltet ist. Und es ist vermutlich auch in den
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:
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;
Ergebnis im Profiler:

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)

jethark 5. Dez 2007 20:18

Re: BDE TQuery.Edit --> Select * From Table
 
o.k. das passiert wohl alles innerhalb folgendem Routinenaufrufs

Delphi-Quellcode:
DbiQAlloc(DBHandle, qrylangSQL, FStmtHandle)
Die Routine ist leider in der BDE.pas und die habe ich leider nicht.

Bernhard Geyer 5. Dez 2007 21:07

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?

mkinzler 5. Dez 2007 21:12

Re: BDE TQuery.Edit --> Select * From Table
 
Ich würde mich an deiner Stelle doch mal andere Komponenten ansehen
SDAC von CRLabs z.B. bringt einen Wizrad zur Migration von der BDE mit.

jethark 5. Dez 2007 21:28

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?

mkinzler 5. Dez 2007 21:31

Re: BDE TQuery.Edit --> Select * From Table
 
SDAC ist nur für MSSQL. Es gibt aber auch noch Kompos für andere DBMS:
http://crlab.com/products-vcl.html
Oder AnyDAC


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:43 Uhr.
Seite 2 von 2     12   

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