![]() |
Datenbank: MS SQL • Version: 2000 • Zugriff über: ADO
Grundsatzfrage zum Open beim Query
Hallo,
ich wollte mal fragen, was geanu das ADOQuery macht, wenn ich sage:
Delphi-Quellcode:
Werden hier schon Daten beim Open übertragen oder nicht? Der Profiler zeigt ja sowas scheinbar nicht an...
var
q : TAdoQuery; begin q:= TAdoQuery.Create(nil); q.Connection:= AdoConnection; q.SQL.Text:= 'SELECT * FROM Tabelle'; q.Open; .... Nun möchte ich einfach einen Datensatz anhängen mit Append. Muss da immer das Select vorausgehen oder wäre das nicht unnötige "Speicherverschwendung"? Danke Tim |
Re: Grundsatzfrage zum Open beim Query
Hallo Tim,
nach dem .Open beginnt das DBMS damit ein Query auszuwerten und ggf. Daten an den Client zu übertragen. Wenn Du neue Daten in die Tabelle einfügen möchtest und nicht mit einem INSERT Befehl von SQL arbeiten möchtest könntest Du es so machen: ich wollte mal fragen, was geanu das ADOQuery macht, wenn ich sage:
Delphi-Quellcode:
var
q : TAdoQuery; begin q:= TAdoQuery.Create(nil); q.Connection:= AdoConnection; q.SQL.Text:= 'SELECT * FROM Tabelle WHERE 0=1'; // Da die Bedingung immer False ist wird kein Datensatz zum Cl übertragen. q.Open; q.Insert; q.FieldByName ('blubb').AsString := 'blubb' q.Post; .... |
Re: Grundsatzfrage zum Open beim Query
Danke für die Antwort, aber wie macht man denn das ganze z.B., wenn man eine Form und 3 TDBMemos, sowie eine Datasource und ein AdoQuery als visuelle Komponente hat?
Delphi-Quellcode:
Bisher hab ich das immer so gelöst, dass ich beim onShow-Event folgendes gemacht habe:
Datasource1.Dataset:= Query;
DBMemo1.Datasource:= Datasource1; DBMemo1.Datafield:= 'Feld1';
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin Query.SQL.Text:= 'SELECT * FROM tabelle'; Query.Open; Query.Append; end; und bei onOK-ButtonPress:
Delphi-Quellcode:
Ist das wirklich die beste Lösung?
Query.Post;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:16 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