Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TDBMemo schreibt nicht in die DB zurück (https://www.delphipraxis.net/58378-tdbmemo-schreibt-nicht-die-db-zurueck.html)

MPirnstill 6. Dez 2005 10:26


TDBMemo schreibt nicht in die DB zurück
 
Hallo Leute!

Ich versuche gerade ein DB-Feld varchar(255) in meinem Formular darzustellen. Da dachte ich mir nimmste die TDBMemo-Komonente, dann kann mann das auch mehrzeilig. :mrgreen: Schwups, drauf aufs Formular und DataSource und DataField zugewiesen. Zeigt mir auch sofort den Inhalt des Feldes an. Super, dachte ich. :thumb:
Als ich jedoch den Inhalt ändern wollte, wurden die Änderungen aus was weiß ich für einen Grund nicht zurück in die Datenbank geschrieben. :gruebel: :wiejetzt: Genau, ich schnalle das auch nicht warum. Anzeige: Ja. :thumb: Update: Nein. :wall:

Kennt jemand von euch diese Problem oder weiß eine Lösung? :?: Wäre supi!

Ach ja, ich bin derjenige der hier immer noch "zwangsweise" mit Delphi 2.0 rumeiert. Vielleicht kann mir ja trotzdem einer helfen.
Datenbank ist MS-SQL-Server 2000 (SP3). Zugriff über BDE.

Gruß

Angel4585 6. Dez 2005 10:39

Re: TDBMemo schreibt nicht in die DB zurück
 
Gehört das nicht woanders hin? (Datenbanken?)

Na Egal macht dann ein Mod oder eben Chäffe

Hast auch ein Edit und ein Post gemacht?

DP-Maintenance 6. Dez 2005 10:57

DP-Maintenance
 
Dieses Thema wurde von "Sharky" von "VCL / WinForms / Controls" nach "Datenbanken" verschoben.
Schwupp

Sharky 6. Dez 2005 11:00

Re: TDBMemo schreibt nicht in die DB zurück
 
Zitat:

Zitat von Angel4585
Gehört das nicht woanders hin? (Datenbanken?)

Dann hättest Du den Beitrag doch melden können. ;-)

@MPirnstill:

"Nur" durch das ändern des Textes im DBMemo wird keine Änderun in die Tabelle geschrieben. Dies passiert entweder durch das wechseln des aktiven Datensatzes oder halt durch ein "manuelles" .Post

Das ist übrigens bei allen DB-Komponenten so.

MPirnstill 6. Dez 2005 11:19

Re: TDBMemo schreibt nicht in die DB zurück
 
Erstmal vielen Dank für eure schnelle Antwort.

Zitat:

Zitat von Sharky
@MPirnstill:

"Nur" durch das ändern des Textes im DBMemo wird keine Änderun in die Tabelle geschrieben. Dies passiert entweder durch das wechseln des aktiven Datensatzes oder halt durch ein "manuelles" .Post

Das ist übrigens bei allen DB-Komponenten so.

Ich habe da schon andere DB-Komponenten im Einsatz. Da schreibt das Progamm korrekt zurück.
Mit dem DB-Navigator schalte ich in den Datensatz in den Edit-Modus und löse dann darüber auch meinen Post.
Wie gesagt, bei TDBEdit funktioniert es nur bei der TDBMemo-Komponente halt nicht. :wall:

@Angel4585
Ich bin davon ausgegangen, daß dies ein Prob der Komponente ist, deswegen hatte ich diese Rubrik gewählt.

Sharky 6. Dez 2005 11:35

Re: TDBMemo schreibt nicht in die DB zurück
 
Hast Du mal versucht anstelle eines DBMemo ein DBEdit zu verwenden? (Nur so zum testen).

MPirnstill 6. Dez 2005 11:43

Re: TDBMemo schreibt nicht in die DB zurück
 
Zitat:

Zitat von Sharky
Hast Du mal versucht anstelle eines DBMemo ein DBEdit zu verwenden? (Nur so zum testen).

Das ist echt geil.

Ich hab jetzt zusätzlich ein TDBEdit aufs Form gelegt und mit der gleichen DataSource und dem gleichen DataField verbunden. Wenn ich im DBEdit was eingeben und auf speichern klicke, wird der geänderte Inhalt im DBEdit und im DBMemo angezeigt. Ändere ich aber im DBMemo wird nach dem speichern wieder der ursprüngliche Inhalt gezeigt.

Das verstehe ich nicht. :gruebel: Weiß du was da läuft? :?:

MPirnstill 7. Dez 2005 07:24

Re: TDBMemo schreibt nicht in die DB zurück
 
Zitat:

Zitat von MPirnstill
Zitat:

Zitat von Sharky
Hast Du mal versucht anstelle eines DBMemo ein DBEdit zu verwenden? (Nur so zum testen).

Das ist echt geil.

Ich hab jetzt zusätzlich ein TDBEdit aufs Form gelegt und mit der gleichen DataSource und dem gleichen DataField verbunden. Wenn ich im DBEdit was eingeben und auf speichern klicke, wird der geänderte Inhalt im DBEdit und im DBMemo angezeigt. Ändere ich aber im DBMemo wird nach dem speichern wieder der ursprüngliche Inhalt gezeigt.

Das verstehe ich nicht. :gruebel: Weiß du was da läuft? :?:

Ich hab mir gedacht, ich frag noch mal nach, bevor ich TDBMemo verbanne und versuche das ganze irgendwie anders zu lösen.
Kurz zusammengefaßt:

Umgebung: D2.0, Zugriff: BDE, DB: MS-SQL-SERVER 2000 (SP3)
Problem: Formular mit DBEdits und DBComboboxen funktioniert soweit. DBMemo hinzugefügt, mit der gleichen Datasource verbunden wie die anderen DB-Komponenten. DBEdit und DBMemo zeigen auch die Daten an. Über DBNavigator in Edit-Modus und Daten ändern und mit DBNavigator Post auslösen. Beim DBEdit funktioniert die Änderung. Beim DBMemo steht der ursprüngliche Inhalt drin.

Hat da einer 'ne Idee :idea: , woran das liegen kann? :?:

Angel4585 7. Dez 2005 07:33

Re: TDBMemo schreibt nicht in die DB zurück
 
Mach doch ein BLOB in die Tabelle, ich stell mir grad vor ich würde das ohne DB machen...

Ich nehm also ein Memo und speichere dessen LINES in einen String.. geht glaub niht oder? Sind doch zwei verschiedene Formate. Ob das bei dem DBMemo ähnlich ist weis ich allerdings jetzt nicht.

Versuch doch folgendes:

schnapp dir die LINES aus dem DBMemo und speichere diese nachund nach in einen temporären String, beim auslesen aus der Tabelle zerpflückst du diesen dann wieder und zeigst ihn im Memo an.

MPirnstill 7. Dez 2005 07:46

Re: TDBMemo schreibt nicht in die DB zurück
 
Zitat:

Zitat von Angel4585
Mach doch ein BLOB in die Tabelle, ich stell mir grad vor ich würde das ohne DB machen...

Ich nehm also ein Memo und speichere dessen LINES in einen String.. geht glaub niht oder? Sind doch zwei verschiedene Formate. Ob das bei dem DBMemo ähnlich ist weis ich allerdings jetzt nicht.

Versuch doch folgendes:

schnapp dir die LINES aus dem DBMemo und speichere diese nachund nach in einen temporären String, beim auslesen aus der Tabelle zerpflückst du diesen dann wieder und zeigst ihn im Memo an.

Danke, für den Tipp.

Mit BLOB steh ich ein wenig auf Kriegsfuß. Hab damals immer Probleme damit gehabt. Kann ja sein das die neuere MS-SQL-Server-Version, damals 6.5, oder die BDE-Version, das jetzt besser händeln, aber auf den schmalen Steg geh ich jetzt nicht. :roll:
Ich habe sogar an anderer Stelle eine ähnliche Lösung wie du vorgeschlagen hast, aus der Zeit wo ich die BLOB-Probs hatte, hab aber gedacht, wenn ich ein DBMemo nehme ist das viel einfacher, aber warscheinlich hab ich das damals mit dem DBMemo schon nicht hingekriegt und nach dem von dir beschriebenen Muster drumherum programmiert.

Dann werd ich wohl wieder auf die alte Weise machen. :cheers:

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:05 Uhr.
Seite 1 von 2  1 2      

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