Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datenbankeintrag über Editfelder (https://www.delphipraxis.net/50980-datenbankeintrag-ueber-editfelder.html)

franktron 4. Aug 2005 18:58

Re: Datenbankeintrag über Editfelder
 
Zitat:

Zitat von marabu
Hi Frank,

so geht das:

Delphi-Quellcode:
Query.RequestLive := true;
marabu

Braucht man dann nicht eine UpdSQL dafür ??? zumin. brauchte ich die immer bei meine MySQL Comps

marabu 4. Aug 2005 19:38

Re: Datenbankeintrag über Editfelder
 
Hi Frank,

du kannst RequestLive nicht für beliebige Anfragen setzen. Die Komponente TQuery bietet diese property in Verbindung mit CanModify an, um die Arbeit mit einem aktualisierbaren Cursor zu ermöglichen, falls ein solcher von der Datenbank resp. middle-ware unterstützt wird. In der Regel gilt, dass die Projektion einer Basis-Tabelle bearbeitet werden kann, während ein Join nur gelesen werden kann.

Alles klar?

marabu

franktron 4. Aug 2005 20:49

Re: Datenbankeintrag über Editfelder
 
Jop deshalb hat es wohl bei mir nie geklappt :-D

scuby 5. Aug 2005 09:08

Re: Datenbankeintrag über Editfelder
 
Delphi-Quellcode:
begin
Query1.Insert;
Query1.FieldByName('Name').AsString := edit1.text;
Query1.FieldByName('Vorname').AsString := edit2.text;
Query1.FieldByName('Gebdat').AsString := edit3.text;
Query1.FieldByName('Straße').AsString := edit4.text;
Query1.FieldByName('Hnr').AsString := edit5.text;
Query1.FieldByName('PLZ').AsString := edit6.text;
Query1.FieldByName('Ort').AsString := edit7.text;
Query1.FieldByName('tel').AsString := edit8.text;
Query1.FieldByName('Fahrschule').AsString := edit9.text;
Query1.FieldbyName('Kurs').ASString := Label2.Caption;
Query1.Post;
end;
In diesem Bereich steckt irgendwo ein Fehler drin, doch finde ich ihn mal wieder nicht!!! (Überlegt gerade das Programieren naczulassen)
Ich würde mich freuen, wenn ihr den Fehler mal wieer finden könntet.

marabu 8. Aug 2005 06:54

Re: Datenbankeintrag über Editfelder
 
Hi scuby,

du hast vergessen mitzuteilen, welcher Fehler in diesem Bereich gemeldet wird.

marabu

thomas29h2000 9. Aug 2005 09:58

Re: Datenbankeintrag über Editfelder
 
Hallo ich hab da auchmal ne frage aber ich weiß nicht ob da hier überhaupt die passende stelle ist.
Ich hab am Mittwoch mit Delphi angefangen, also noch keinen Ahnung.

Mein Problem ist das ich wenn ich ein neuen Tupel in eine Tabellen einfühgen will erscheint zwar ein neues Tupel aber der der datumswert ist immer auf 1.1.1900 gesetzt. In der Tabelle werden in der Spallte aber auch NULL-Werte zugelasen, und wenn ich die anfrage direkt auf der DB ausführe geht es auch.

Code:
 
if(km <> '') and (term = '') then
        sqlstring := 'INSERT INTO AUTOS_UNTERSUCHUNGEN '+
                     'SELECT Max(PK)+1 AS PK, '+num+' AS PKAUTOS, null AS FESTER_TERMIN, '
                     +km+' AS NACH_KILOMETER, '+besch+' AS BESCHREIBUNG FROM AUTOS_UNTERSUCHUNGEN';

 with Query_AUTOS_UNTERSUCHUNGEN do
    begin
      Close;
      SQL.Clear;
      SQL.Add(sqlstring);
      ExecSQL;
    end;
jetzt hab ich das so wie oben mit dem

Code:
 with Query1 do begin
    Sql.Text := SQL_SELECT;
    Open;
    Insert;
    FieldByName('Name').AsString := NameEdit.Text;
    ...
    FieldByName('Vorname').AsString := VornameEdit.text;
    Post;
  end;
probiert das geht bei mir auchnicht. da gibt die Fehlermeldung das nur Lesender zugriff auf die datenbank gewährt wird. Hab kein Plan was ich machen muss.

Danke im voraus
Thomas

marabu 9. Aug 2005 10:10

Re: Datenbankeintrag über Editfelder
 
Hallo Thomas,

herzlich willkommen in der Delphi-PRAXiS.

Dein erster Lösungsansatz hat doch offenbar funktioniert? Allerdings bin ich nicht sicher, ob ich verstehe, warum du die Aggregate, die du auf deiner Tabelle berechnest, auch in der gleichen Tabelle speichern willst. Sieht nach einer Auswertung aus, aber solche Ergebnisse speichert man doch nicht in der Basis-Tabelle.

Dass der zweite Ansatz nicht funktioniert, könnte daran liegen, dass du bei der Query nicht RequestLive := true eingestellt hast.

Grüße vom marabu

thomas29h2000 9. Aug 2005 10:42

Re: Datenbankeintrag über Editfelder
 
Hi,
danke für die schnelle antwort.

Berechnen tue ich gar nichts, ich schaufe erst ob die eingaben km und term aus Edit-Feldern
vorhanden bzw. nicht vorhanden sind.
Dann will ich ein Tupel einfühgen, sodas bei FESTER_TERMIN (typ: datetime) einen Null-wert hat.
Aber in der Tabelle steht dann immer '1.1.1900' und das soll nicht sein, da soll dann einfach nicht stehen.

Wenn ich RequestLive auf True setze kommt das immernoch. ich weis nicht was ich falsch mache.

thomas

thomas29h2000 9. Aug 2005 10:55

Re: Datenbankeintrag über Editfelder
 
Hi hab meine fehler.
hatte den an ner ganz ander stelle. hatte im vergleich '= null' anstelle von 'is null'
sry für die umstände und nochmals danke für die schnelle hilfe

gruß thomas

scuby 10. Aug 2005 13:06

Re: Datenbankeintrag über Editfelder
 
Delphi-Quellcode:
begin
Query1.Insert;
Query1.FieldByName('Name').AsString := edit1.text;
Query1.FieldByName('Vorname').AsString := edit2.text;
Query1.FieldByName('Gebdat').AsString := edit3.text;
Query1.FieldByName('Straße').AsString := edit4.text;
Query1.FieldByName('Hnr').AsString := edit5.text;
Query1.FieldByName('PLZ').AsString := edit6.text;
Query1.FieldByName('Ort').AsString := edit7.text;
Query1.FieldByName('tel').AsString := edit8.text;
Query1.FieldByName('Fahrschule').AsString := edit9.text;
Query1.FieldbyName('Kurs').ASString := Label2.Caption;
Query1.Post;
end;
In diesem Bereich steckt noch imer mein ehler und zwar bekomme ich immer die Meldung das nur Lesesender zugriff haben aber keine Schreibsender. Wie kann ich das umehen, so das ich aus meinen Editfeldern einen Eintrag in die DB machen kann?!


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:52 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz