Autor Beitrag
Mysterio08
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21



BeitragVerfasst: Fr 04.06.10 16:02 
Bonjour an diesem schönen, sonnigen Freitagnachmittag!

Ich habe mit MySQL-Workbench 5.1.18 ein relationales Datenbanksystem entworfen und mit Delphi per ADO (über ODBC) verbunden. Der Datenzugriff klappt einwandfrei, Abfragen auch.
Ein paar Probleme haben sich jetzt jedoch herausgestellt:
1. Die MySQL-Datei (*.mwb-Datei) wird nicht aktualisiert. Konkret bedeutet das, dass, wenn ich Daten per INSERT hinzufüge, diese in Delphi abrufen und UPDATEn kann, jedoch im GUI von MySQL-Workbench nicht sehe. Genauso ist es, wenn ich die Tabellenstruktur mit ALTER TABLE ändere. Weshalb ist das so und wie kann ich aktualisieren?
2. Nachträglich habe ich via meinem Delphi-Programm in einer dieser Tabellen eine Spalte eingefügt, vom Typ LONGTEXT, weil MEMO nicht funktionierte. CHAR wird mir in diesem Feld nicht ausreichen, ich brauche schon ca. 500 Zeichen, wie viel kann LONGTEXT aufnehmen? Ist er deckungsgleich mit MEMO (also 65535 Zeichen)? Was wäre die Alternative? Des Weiteren möchte ich diese Spalte gerne nach vorne verschieben, also zuerst ID, dann Zweite Spalte und dann Meine Spalte vom Typ LONGTEXT, weil ja die mit ADD angefügten Spalten immer ganz hinten drankommen.
3. In diesem Feld vom Typ LONGTEXT kann ich keine Daten einfügen, ich habe es schon mehrfach mit INSERT versucht, jedoch wird immer nur das Wort (Memo) eingefügt, obwohl ich das nicht beabsichtige. Warum?

mfg. Mysterio08
Mysterio08 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21



BeitragVerfasst: So 06.06.10 10:53 
Ich habe mittlerweile Fortschritte erzielen können.

Also Nummer eins konnte ich lösen: Man muss, wenn man MySQL-Workbench benutzt, die Datenbank manuell darüber aktualisieren ("Database" -> "Reverse Engineer").

Zur Frage zwei bezüglich der Felderverschiebung in Tabellen habe im Referenzhandbuch einen interessanten und funktionierenden Eintrag gefunden: Klick mich

Auch bei dem "(MEMO)"-Problem habe ich eine Lösung gefunden, allerdings eine, welche mich nicht besondern zufrieden stellt: Im DBGrid können MEMO- oder TEXTfelder nicht angezeigt werden - was eigentlich verständlich ist, wenn man mal von 60000 Zeichen ausgeht...
Also habe ich jetzt einfach mal ein DBMemo genommen und siehe da ... es wird korrekt angezeigt! Nur, wie gesagt, kann ich die Lösung so nicht verwenden, ich dachte ich kann alles schön in einem DBGrid anzeigen, insbesondere wegen der optischen Oberfläche.


Edit: Ich konnte jetzt auch das "(MEMO)"-Problem lösen, dieser Link hat mir geholfen.