![]() |
Re: Datenbankeintrag über Editfelder
Zitat:
|
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 |
Re: Datenbankeintrag über Editfelder
Jop deshalb hat es wohl bei mir nie geklappt :-D
|
Re: Datenbankeintrag über Editfelder
Delphi-Quellcode:
In diesem Bereich steckt irgendwo ein Fehler drin, doch finde ich ihn mal wieder nicht!!! (Überlegt gerade das Programieren naczulassen)
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; Ich würde mich freuen, wenn ihr den Fehler mal wieer finden könntet. |
Re: Datenbankeintrag über Editfelder
Hi scuby,
du hast vergessen mitzuteilen, welcher Fehler in diesem Bereich gemeldet wird. marabu |
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:
jetzt hab ich das so wie oben mit dem 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;
Code:
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.
with Query1 do begin
Sql.Text := SQL_SELECT; Open; Insert; FieldByName('Name').AsString := NameEdit.Text; ... FieldByName('Vorname').AsString := VornameEdit.text; Post; end; Danke im voraus Thomas |
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 |
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 |
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 |
Re: Datenbankeintrag über Editfelder
Delphi-Quellcode:
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?!
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:40 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