Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Schreiben in DBEdits funktioniert nicht, warum? (https://www.delphipraxis.net/125835-schreiben-dbedits-funktioniert-nicht-warum.html)

daredd 12. Dez 2008 17:30

Datenbank: Firebird • Version: 2.1.1 • Zugriff über: IbExpert

Schreiben in DBEdits funktioniert nicht, warum?
 
Hallo ich habe ein paar DBEdits in meinem Programm, hab die mit der Datasource verbunden, Enabled ist auch true, aber trozdem kann ich nichts reinschreiben wenn das Programm läuft, das Edit-Feld bleibt einfach leer, es rührt sich nichts.
Woran liegt das?

THX

DeddyH 12. Dez 2008 17:39

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Ist der dahinterliegende Datensatz auch im Edit- oder Insert-Modus?

daredd 12. Dez 2008 17:44

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Ah ich glaube das geht nicht weil mein dahinterliegender Datensatz ein TIBCQuery ist und keine TIBCTable, oder?

daredd 12. Dez 2008 17:49

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Ne, doch nicht! Da passiert das selbe.
Wo kann ich den sehen in welchem Modus das Dataset ist? Ich finde nichts mit Edit oder Insert.

Hansa 12. Dez 2008 18:18

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Dann schreibs doch hin. DS.Edit oder sonstwas. :-D Und dann gibts noch sowas wie "state". -> F1

mkinzler 12. Dez 2008 19:30

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Wie sieht die Abfrage aus? Insert/Update-Abfrage gesetzt?

daredd 19. Dez 2008 14:20

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Ich versteh immer noch nicht wo ich Edit/Insert setzen soll?
Ich habe eine IBCTable als Datenmane und in den Propertie finde ich nichts passendes, es gibt nur AfterInster oder AfterEdit.

DeddyH 19. Dez 2008 14:51

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Das sind auch keine Properties, sondern Methoden.

daredd 19. Dez 2008 14:57

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Und wie stell ich das nun ein?
Ich kann meine DBEdits nicht benutzen? Und wie man das Dataset auf Edit/Insert einstellt weiss ich nicht.

DeddyH 19. Dez 2008 15:16

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
TDataset.Edit oder TDataset.Append bzw. AppendRecord, steht aber alles in der Hilfe.

daredd 19. Dez 2008 15:23

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Komisch egal ob ich IBCTable1.Edit oder .Append machen, es kommt immer die selbe fehlermeldung:

---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt program1.exe ist eine Exception der Klasse EDatabaseError mit der Meldung 'IBCTable1: Operation bei geschlossener Datenmenge nicht ausführbar' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------

DeddyH 19. Dez 2008 15:24

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Dann solltest Du die Datenmenge vielleicht mal öffnen (Open oder Active auf true setzen).

daredd 19. Dez 2008 15:35

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Das hilft auch nichts, hab Active auf true gesetzt und es kommt immer noch die selbe fehlermeldung bzw. die DBEdits sind immer noch nciht editierbar.

mkinzler 19. Dez 2008 15:37

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Wird was angezeigt? Ist eine Connection und Tabelle ausgewählt?
Nimm besser ein TIBCQuery

daredd 20. Dez 2008 13:16

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Wenn ich mein IBCQuery Active :=true setzen will kommmt mir aber folgende Fehlermeldung:

---------------------------
Fehler
---------------------------
SQL statement cannot be empty.
---------------------------
OK Details >>
---------------------------

Eine IBCConnenction und Transaktion ist gesetzt.

DeddyH 20. Dez 2008 13:19

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Zitat:

SQL statement cannot be empty.
Was soll uns das wohl sagen?

daredd 20. Dez 2008 13:41

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Ich bin ein Noob! Ich habe keine ahnung! :-D

mkinzler 20. Dez 2008 13:44

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Trage in die Eigenschaft SQL die Select-Abfrage ien.

DeddyH 20. Dez 2008 13:45

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Markus hat 100 Punkte :mrgreen:

daredd 20. Dez 2008 13:55

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Leute ich habs jetzt endlich raus!

Also ich habe wieder ein IBCTable genommen das auf active := true gesetz, dann .Open und .Edit und nun funktionieren die DBEdits auch !!! freu!

Aber was bedeutet .Append? Ihr meintet doch ich soll entweder .Edit aufrufen oder .Append

mkinzler 20. Dez 2008 13:57

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Wie gesagt ist eine TIBCQuery besser, weil du die Abfrage dadurch besser steuern kannst. Eine Table ist ein Query mit der Abfrage
SQL-Code:
select * from <Tabelle>;
Übersetzte mal Append, dann kannst du erahnen was die Methode macht.

daredd 20. Dez 2008 14:05

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Also kann ich mit append nur etwas hinzufügen und nicht löschen oder so, weil edit ja bearbeiten heißt! Da schließe ich ändern/löschen auch mit ein!

daredd 20. Dez 2008 14:17

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Ich habe noch eine Frage, wenn ich in mein DbEdit was eintragen, dann trägt er das sofort in die Tabelle ein, kann man das unterdrücken und nur mit hilfe eines Ok-Buttons eintragen lassen?

mkinzler 20. Dez 2008 14:18

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Edit versetzt den aktuellen Datensatz in den Editiermodus. Append fügt einen neuen an das Ende an, macht ihn zum aktuellen und versetzt ihn dann in den Editiermodus. Siehst du den "kleinen" Unterschied?
Zitat:

Ich habe noch eine Frage, wenn ich in mein DbEdit was eintragen, dann trägt er das sofort in die Tabelle ein, kann man das unterdrücken und nur mit hilfe eines Ok-Buttons eintragen lassen?
-Normale Edits verwenden
-Rollback der Transaktion

daredd 20. Dez 2008 15:05

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Gut das habe ich jetz verstanden. :-D THX

Noch eine Frage, was muss ich einstellen damit jeden neuen Tabellneintrag eine eigene neue IND zu gefügt wird?

mkinzler 20. Dez 2008 15:14

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Was meinst du mit IND? Primärschlüssel?

DeddyH 20. Dez 2008 15:16

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Dafür musst Du in Firebird einen Generator erzeugen und einen Einfügetrigger, der diesen Generator hochzählt.

mkinzler 20. Dez 2008 15:24

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Oder diesen (Generator) in der Komponente auswählen

DeddyH 20. Dez 2008 15:37

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Nicht lachen, aber was ist eine TIBCQuery? IBDAC oder so?

mkinzler 20. Dez 2008 15:42

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Ja, ist das DataSet von IBDAC. Bei Zeos ist das über TZSequence auch ohne Trigger möglich

DeddyH 20. Dez 2008 15:46

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Achso, da muss ich glatt mal schauen, ob es etwas Ähnliches auch unter FBLIB gibt (nur aus Interesse).

daredd 20. Dez 2008 15:52

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Zitat:

Zitat von mkinzler
Was meinst du mit IND? Primärschlüssel?

Ja genau, jedes mal wenn ich zum Beispiel einen neuen Kunden eingeben, soll ihm Automatisch eine ID/IND zugefügt werden die dann als Primärschlüssel dient.
Nur wollte ich das ganze automatisch machen, das heißt sobald ich einen neuen Kunden eingebe kriegt dieser die nächste IND zugefügt.

DeddyH 20. Dez 2008 15:55

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Da Du IBExpert benutzt, mach das doch damit.

daredd 20. Dez 2008 16:00

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Ja das werdet ich auch tun, werde mich da schon irgendwie durchwurschteln!
Vielen dank für eure Tips!

DeddyH 20. Dez 2008 16:11

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Du könntest aber auch das Script von Elvis benutzen.

daredd 20. Dez 2008 16:19

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
THX

daredd 20. Dez 2008 16:40

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Ich habe doch noch eine Frage! :-D

Wenn ich im DBEdit was eingebe wird es gleich dannach in der Tabelle angezeigt, aber wenn ich nun z.B. noch mal TIBCQuerry1.Execute (also select * from tabelle) mache dann verschwinden wieder alle einträge, werden die nicht automatisch gespeichert?
Muss ich noch eine Methode aufrufen damit die Einträge in der Tabelle gespeichert werden?

mkinzler 20. Dez 2008 16:49

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Bei Select-Abfragen, welche eine Datenmenge zurückliefern, musst du .Open statt .Execute aufrufen

DeddyH 20. Dez 2008 16:49

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Schau mal in der Hilfe nach TDataset.Post.

daredd 20. Dez 2008 16:55

Re: Schreiben in DBEdits funktioniert nicht, warum?
 
Funktioniert jetzt, vielen Dank!


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