Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#28

AW: Optimierung Datenbankzugriff Firebird

  Alt 6. Mai 2013, 12:00
Ich kann Furtbichlers Maßnahmen nur unterstreichen.
Ich auch!

Verwendung z.B. ADO mit MAXRECORDS z.B. gleich 1000
Das gibt's beim IBDac-Query nicht.

Ableitung von TADOQuery/TADODataset wandelt Filter & Sort in Where-Bedingung/Order By um.
Das versuche ich gerade, erhalte aber eine Fehlermeldung beim Versuch, den Filter zu setzen. Natürlich hab ich das bereits viele Male gemacht, aber noch nie mit den IBDac-Queries. Die Fehlermeldung lautet: Feld nicht gefunden. Dabei wird als Name des angeblich nicht gefundenen Feldes das Filterkriterium gemeldet:

Column unknown
BRASILIEN


Die Procedure, die aufgerufen wird:
Delphi-Quellcode:
procedure TDatMod.SetFilter_OrteLand(Land: String);
begin
  View_Orte.FilterSQL := 'V_LAND=' + Land;
end;

// Example aus IbDac.pdf:
// Query1.FilterSQL := 'Dept >= 20 and DName LIKE ''M%''';
Wobei das Property FilterSQL laut Dokumentation nichts anderes macht als:
Used to change the WHERE clause of SELECT statement and reopen a query.

Übrigens derselbe Fehler, der auch beim Setzen der gewöhnlichen Filtereigenschaft auftritt, wie ich es zuerst versucht hatte:
Delphi-Quellcode:
procedure TDatMod.SetFilter_OrteLand(Land: String);
begin
  View_Orte.Filtered := False;
  View_Orte.Filter := 'V_LAND=' + Land;
  View_Orte.Filtered := True;
end;
Schon irgendwie seltsam ... vielleicht 'n Bug ...
  Mit Zitat antworten Zitat