Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Ergebnis Query in Editfeld übernehmen (https://www.delphipraxis.net/85775-ergebnis-query-editfeld-uebernehmen.html)

rainman51 4. Feb 2007 18:08

Datenbank: Access • Zugriff über: Delphi

Ergebnis Query in Editfeld übernehmen
 
Wie kann man eine durch Adoquery erreichten Wert bei einer Selcet Abfrage in ein Editfeld übergeben?

mkinzler 4. Feb 2007 18:12

Re: Ergebnis Query in Editfeld übernehmen
 
1. Man verwendet ein DBEdit
2.
Delphi-Quellcode:
Edit.Text := AdoTable.FileldByName('<feldname>').asString;

rainman51 4. Feb 2007 18:20

Re: Ergebnis Query in Editfeld übernehmen
 
Das war nicht meine Frage ....z.B

Delphi-Quellcode:
 Adoquerybe.SQL.Text := 'Select Anlagegut.Name FROM Anlagegut WHERE Inventarnummer = '+
(Editeingabe.text);
wie kann dieser Wert ausgegeben werden...

mkinzler 4. Feb 2007 18:22

Re: Ergebnis Query in Editfeld übernehmen
 
Genau so wie ich es oben angegeben habe!

rainman51 4. Feb 2007 18:30

Re: Ergebnis Query in Editfeld übernehmen
 
Aber da wird immer nur die erste Spalte der Datenbank angezeigt...das der wert aus qeury wird ja nicht genutzt oder wie muss ich das verstehen


der Befehl an sich ist mir klar, aber ich dachte immer das bezieht sich nur auf einen Datensatz
der nicht auswählbar ist

mkinzler 4. Feb 2007 18:36

Re: Ergebnis Query in Editfeld übernehmen
 
Wenn du mehrere Felder anzeigen willst dann kannst du entweder alle manuell zusammenhängen oder ein temp. Feld mit allen Felder erzeugen:
SQL-Code:
Select Nummer||', '||Name as Name FROM Anlagegut WHERE Inventarnummer = ...
Zitat:

der Befehl an sich ist mir klar, aber ich dachte immer das bezieht sich nur auf einen Datensatz
der nicht auswählbar ist
Du hast bei deinem Query ja auch nur eine Spalte angegeben. Durch eine where-Filterung auf eine eindeutigen wert wird zudem auch nur ein Datensatz in der Rückgabemenge erzeugt.

rainman51 4. Feb 2007 18:40

Re: Ergebnis Query in Editfeld übernehmen
 
Ich will nicht mehr Felder anzeigen sondern z.b Wenn der Wer den ich suche in der 8 ZEile steht die 8 Zeile anzeigen....

mkinzler 4. Feb 2007 18:41

Re: Ergebnis Query in Editfeld übernehmen
 
Du kannst nicht mehrere Zeilen in einem Edit anzeigen.
Nimm ein DBGrid.

rainman51 4. Feb 2007 18:46

Re: Ergebnis Query in Editfeld übernehmen
 
Ich will ja eigentlich den Wert den ich bei der oberen Abfrage erhalten habe...der in irgent einer Spalte steht aus nur einem Feld in genau ein editfeld übergeben, damit ich dann in diese den anderen Wert schreiben kann und diesen Wert wieder in die Datenbank an genau dieser Stelle zurückgeben kann

mkinzler 4. Feb 2007 18:52

Re: Ergebnis Query in Editfeld übernehmen
 
Die Abfrage liefert doch genau einen Wert. Ändern kannst du ihn mit
SQL-Code:
Update Anlagegut set Name = '<neuer wert>' WHERE Inventarnummer = ...

rainman51 4. Feb 2007 19:01

Re: Ergebnis Query in Editfeld übernehmen
 
Delphi-Quellcode:

adoquerybe.SQL.Text:='Update Anlagegut set Name = 'Editname.text' WHERE Inventarnummer = '+
(Editeingabe.text);
Da kommen jede Menge Fehler

mkinzler 4. Feb 2007 19:03

Re: Ergebnis Query in Editfeld übernehmen
 
SQL-Code:
adoquerybe.SQL.Text:='Update Anlagegut set Name = '+QuotedStr(Editname.text)+' WHERE Inventarnummer = '+
QuotedStr(Editeingabe.text);

rainman51 4. Feb 2007 20:37

Re: Ergebnis Query in Editfeld übernehmen
 
Die Lösung geht nur für Zahlen, wenn ich buchstaben eingebe kommt paramentfehler

adoquerybe.SQL.Text:='Update Anlagegut set Name = '+QuotedStr(Editname.text)+' WHERE Inventarnummer = '+
QuotedStr(Editeingabe.text);
adoquerybe.ExecSQL;

Allerdings habe ich in meiner Anweisung das QuotedStr weggelassden, da sonst Kriterienausdruck unverträglich

mkinzler 4. Feb 2007 20:43

Re: Ergebnis Query in Editfeld übernehmen
 
Dann verwende Parameter:
Delphi-Quellcode:
adoquerybe.SQL.Text:='Update Anlagegut set Name = :name WHERE Inventarnummer = :nummer';
adoquerybe.Parameters.ParamByName('name').asString := Editname.text;
adoquerybe.Parameters.ParamByName('nummer').asString := Editeingabe.text;
adoquerybe.ExecSQL;

rainman51 4. Feb 2007 20:46

Re: Ergebnis Query in Editfeld übernehmen
 
.asstring....ist nicht vorhanden----> unbekannter bezeichner

mkinzler 4. Feb 2007 20:51

Re: Ergebnis Query in Editfeld übernehmen
 
Welche Methoden kennt er den?

rainman51 4. Feb 2007 20:53

Re: Ergebnis Query in Editfeld übernehmen
 
Nicht mit as... welche sollte er haben?

mkinzler 4. Feb 2007 21:04

Re: Ergebnis Query in Editfeld übernehmen
 
ADO verwendet wohl nicht eine zu andere DataSets nicht identische Parameterbehandlung. Hier mußt du wohl .Value verwenden

rainman51 4. Feb 2007 21:08

Re: Ergebnis Query in Editfeld übernehmen
 
Mit value passiert nichts

mkinzler 4. Feb 2007 21:12

Re: Ergebnis Query in Editfeld übernehmen
 
Was meinst du mit passiert nichts?

rainman51 4. Feb 2007 21:13

Re: Ergebnis Query in Editfeld übernehmen
 
Der Wert in der Datenbank ändert sich nicht

mkinzler 4. Feb 2007 21:17

Re: Ergebnis Query in Editfeld übernehmen
 
Wann/wie führst du die 2.Abfrage (Update) aus?

rainman51 4. Feb 2007 21:20

Re: Ergebnis Query in Editfeld übernehmen
 
Sql

mkinzler 4. Feb 2007 21:24

Re: Ergebnis Query in Editfeld übernehmen
 
Das beantwortet meine Nachfrage nicht, wann wird sie ausgeführt und was steht in diesem Moment in den Edits?

rainman51 4. Feb 2007 21:39

Re: Ergebnis Query in Editfeld übernehmen
 
Sie wird ausgeführt, wenn ich auf einen Buttonklicke...in den Editsschreibe ich einen Wert und in der Datenbank...steht der Wert der immer drin war

Luciano 4. Feb 2007 21:55

Re: Ergebnis Query in Editfeld übernehmen
 
Hi..

vielleicht "Value" ?


Vielleicht hätte ich mal weiter lesen sollen, als nur die erste Seite... alles ganz schnell wieder vergessen...

rainman51 6. Feb 2007 10:28

Re: Ergebnis Query in Editfeld übernehmen
 
Ha noch jemand eine Idee wie es gehen könnte?? BEi value passiert nichts...es taucht aber auch kein Fehler!

Die Spalte der Datenbank ist als Text deklariert...aber wenn ich es mit der normalen Update abfrage mache stürzt es bei Texteingab...

nehme ich nun eine Parametrabfrage passiert nichts ...woran könnte das liegen


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:09 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