![]() |
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 |
Re: Schreiben in DBEdits funktioniert nicht, warum?
Ist der dahinterliegende Datensatz auch im Edit- oder Insert-Modus?
|
Re: Schreiben in DBEdits funktioniert nicht, warum?
Ah ich glaube das geht nicht weil mein dahinterliegender Datensatz ein TIBCQuery ist und keine TIBCTable, oder?
|
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. |
Re: Schreiben in DBEdits funktioniert nicht, warum?
Dann schreibs doch hin. DS.Edit oder sonstwas. :-D Und dann gibts noch sowas wie "state". -> F1
|
Re: Schreiben in DBEdits funktioniert nicht, warum?
Wie sieht die Abfrage aus? Insert/Update-Abfrage gesetzt?
|
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. |
Re: Schreiben in DBEdits funktioniert nicht, warum?
Das sind auch keine Properties, sondern Methoden.
|
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. |
Re: Schreiben in DBEdits funktioniert nicht, warum?
TDataset.Edit oder TDataset.Append bzw. AppendRecord, steht aber alles in der Hilfe.
|
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 --------------------------- |
Re: Schreiben in DBEdits funktioniert nicht, warum?
Dann solltest Du die Datenmenge vielleicht mal öffnen (Open oder Active auf true setzen).
|
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.
|
Re: Schreiben in DBEdits funktioniert nicht, warum?
Wird was angezeigt? Ist eine Connection und Tabelle ausgewählt?
Nimm besser ein TIBCQuery |
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. |
Re: Schreiben in DBEdits funktioniert nicht, warum?
Zitat:
|
Re: Schreiben in DBEdits funktioniert nicht, warum?
Ich bin ein Noob! Ich habe keine ahnung! :-D
|
Re: Schreiben in DBEdits funktioniert nicht, warum?
Trage in die Eigenschaft SQL die Select-Abfrage ien.
|
Re: Schreiben in DBEdits funktioniert nicht, warum?
Markus hat 100 Punkte :mrgreen:
|
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 |
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:
Übersetzte mal Append, dann kannst du erahnen was die Methode macht.
select * from <Tabelle>;
|
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!
|
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?
|
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:
-Rollback der Transaktion |
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? |
Re: Schreiben in DBEdits funktioniert nicht, warum?
Was meinst du mit IND? Primärschlüssel?
|
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.
|
Re: Schreiben in DBEdits funktioniert nicht, warum?
Oder diesen (Generator) in der Komponente auswählen
|
Re: Schreiben in DBEdits funktioniert nicht, warum?
Nicht lachen, aber was ist eine TIBCQuery? IBDAC oder so?
|
Re: Schreiben in DBEdits funktioniert nicht, warum?
Ja, ist das DataSet von IBDAC. Bei Zeos ist das über TZSequence auch ohne Trigger möglich
|
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).
|
Re: Schreiben in DBEdits funktioniert nicht, warum?
Zitat:
Nur wollte ich das ganze automatisch machen, das heißt sobald ich einen neuen Kunden eingebe kriegt dieser die nächste IND zugefügt. |
Re: Schreiben in DBEdits funktioniert nicht, warum?
Da Du IBExpert benutzt, mach das doch damit.
|
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! |
Re: Schreiben in DBEdits funktioniert nicht, warum?
Du könntest aber auch das
![]() |
Re: Schreiben in DBEdits funktioniert nicht, warum?
THX
|
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? |
Re: Schreiben in DBEdits funktioniert nicht, warum?
Bei Select-Abfragen, welche eine Datenmenge zurückliefern, musst du .Open statt .Execute aufrufen
|
Re: Schreiben in DBEdits funktioniert nicht, warum?
Schau mal in der Hilfe nach TDataset.Post.
|
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