![]() |
Datensatz überschreiben lassen
Guten morgen@all
Ich möchte gerne, das ich einen Datensatz ändern kann, wie kann man das Programmtechnisch lösen. Den DBNavigator wollte ich eigentlich nicht benutzen |
Re: Datensatz überschreiben lassen
Hallo silberner Mond,
ich würde hier mit TQuery arbeiten und ein UPDATE-Statement an dei DB schicken. |
Re: Datensatz überschreiben lassen
Ok ich werd mal mein Glück versuchen,
|
Re: Datensatz überschreiben lassen
Andere Möglichkeit wäre auch in TTable/TQuery (als aktualisierbare Datenmenge) auf den entsprechenden Datensatz zu positionieren und dann:
Delphi-Quellcode:
Table1.Edit;
Table1.FieldByName('spalte').Value := neuer_wert; ... // Für alle Tabellenfelder wiederholen Table1.Post; |
Re: Datensatz überschreiben lassen
wenn ich
Delphi-Quellcode:
eingebe, bekomm ich ne dicke Fehlermeldung
Table1.FieldByName('Name').AsValue:= Edit1.Text;
|
Re: Datensatz überschreiben lassen
Was für eine?
|
Re: Datensatz überschreiben lassen
[Fehler] Haupt.pas(223): Undefinierter Bezeichner: 'AsValue'
|
Re: Datensatz überschreiben lassen
Statt AsValue solltest du hier AsString verwenden. Es gibt da noch AsFloat, AsInteger, AsBoolean...
Grüße Mikhal |
Re: Datensatz überschreiben lassen
Wenn ich AsString verwende bin ich ja wieder da wo ich vorher schonmal war
|
Re: Datensatz überschreiben lassen
Wieso? Erst die Datenbank in den Edit-Modus setzen, dann Wert eingeben und anschließend mit Post den Wert in die Datenbank schreiben, das ist die normale Vorgehensweise, wenn du TTable oder TQuery verwendest. Also genauso, wie es R_Kerber geschrieben hat. Ich meinte lediglich, daß du dort statt AsValue wie bei R_Kerber AsString verwenden solltest.
Grüße Mikhal |
Re: Datensatz überschreiben lassen
Oops, es muß natürlich Value heißen. ich korrigiere das gleich im Beispielcode.
|
Re: Datensatz überschreiben lassen
Alles klar, es funktioniert,
vielen Dank. Jetzt müsste ich nur noch wissen, wie ich einen NAmen mehrmals eintragen lassen kann, d.h. es gibt sicherlich viele Personen die Müller heißen und z.B in Berlin wohnen :-D |
Re: Datensatz überschreiben lassen
Wie mehrfach? Dann sollten das doch mehrere Datensätze werden. Datensätze werden mittels TQuery über ein INSERT-Statment eingefügt. Alternativ kannst Du auch Table1.Append verwenden. Du solltest für die Tabelle jedoch möglichst einen eindeutigen Primärschlüssel verwenden, notfalls einen Zähler.
|
Re: Datensatz überschreiben lassen
So ich hab die Tabelle jetzt umstrukturiert. werde mich dann mal weiter versuchen
|
Re: Datensatz überschreiben lassen
es funktioniert, vielen vielen Dank :)
|
Re: Datensatz überschreiben lassen
Zitat:
Wenn ich dich richtig verstehe möchtest Du in mehreren Datensätzen für ein Feld den selben Wert eintragen wenn eine bestimmte Bedingung erfüllt ist? Das würde ich dann mit einem Query machen.
Delphi-Quellcode:
begin
with Query1 do begin Close; SQL.Clear; SQL.Add ('UPDATE tabelle SET vorname = ' + QuotedStr ('Sharky')); SQL.Add ('WHERE name = ' + QuotedStr ('Müller') + ' AND ort = ' + QuotedStr ('Berlin')); ExecSQL; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:23 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