Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Prism .NET -- MySQL -- WindowsForms -- Datenbankzugriff!! (https://www.delphipraxis.net/41004-net-mysql-windowsforms-datenbankzugriff.html)

Rexet 24. Feb 2005 14:23

Datenbank: MySQL • Zugriff über: über die BDP Komponenten von CoreLab

.NET -- MySQL -- WindowsForms -- Datenbankzugriff!!
 
Hallo :)

Ich hab ein ziemlich lästiges Problem mit dem Abspeichern von Daten in eine MySQL-Datenbank...
Ich arbeite bei einer kleinen Firma und wurde dort sowohl beim Thema .NET als auch MySQL ins kalte Wasser gestoßen :) Deswegen habe ich vielleicht eine ziemlich einfache Frage für euch hier...

Wie kann ich Daten ohne viel Aufwand in eine MySQL-Datenbank über die BDP-Komponenten in WindowsForms (.NET) speichern ohne dafür SQL-STrings zusammenstückeln zu müssen? Ich hab schon überall im Netz gesucht... ich hab schon einges probiert aber ohne Erfolg... Sogar der nette Command Builder und die Autoupdate-Methode helfen nicht weiter.

Also:

Ich habe eine ganz normale Eingabemaske in welchem sich viele Editfelder befinden... Das Auslesen der Daten aus der Datenbank funktioniert ohne viel Aufwand, da die Editfelder mit "Databindings" leicht mit den Daten versorgt werden könnnen... was mache ich aber im ungekehrten Falle? Wenn ich die Daten aus den Editfeldern speichern möchte?

In der BDPAdapter Komponente gibt es jeweils 4 anzulegende SQL Strings für löschen, selektieren, einfügen und aktualisieren... Diese STrings kann man sich leicht vom Programm erstellen lassen...
Beim Insert-String stehen "?" als Platzhalter für einzufüllende Werte welche man als Parameter einen Wert zuweisen kann...

Wenn man sich aber das Dataset des DataAdapters anschaut und dann deren Datatable, gibt es auch wieder einen haufen möglichkeiten seine Datenbank zu beschicken. Mit importrow, bzw. loadrow oder items... Nun ja ich hab diese Möglichkeit probiert und die Daten stehen zur Laufzeit dann tatsächlich in einer neuen Zeile der Tabelle...
Es gibt sowohl für Datarow als auch Datatable eine methode "acceptchanges" und man kann die Haupttransaktion "commiten" aber meine Datenbank kratzt das überhaupt nicht... (d.h.: Die Daten werden nicht in die Datenbank eingetragen)

So... hat irgendjemand Vorschläge? Tut mir leid wenn das alles so lang geworden ist!

Robert_G 24. Feb 2005 17:11

Re: .NET -- MySQL -- WindowsForms -- Datenbankzugriff!!
 
Mit AcceptChanges bekommen die DataRows den Status Unmodified.
Das ist genau das Gegenteil von dem was du willst. :mrgreen:
Billigste Lösung (natürlich OHNE Acceptchanges!!!):
Delphi-Quellcode:
SomeDataAdaper.Update(SomeDataSet);

Rexet 22. Jul 2005 09:45

Re: .NET -- MySQL -- WindowsForms -- Datenbankzugriff!!
 
Zitat:

Zitat von Robert_G
Mit AcceptChanges bekommen die DataRows den Status Unmodified.
Das ist genau das Gegenteil von dem was du willst. :mrgreen:
Billigste Lösung (natürlich OHNE Acceptchanges!!!):
Delphi-Quellcode:
SomeDataAdaper.Update(SomeDataSet);

Hab das auch probiert, aber meine Datenbank kümmert alles nicht. Sie bekommt von den Änderungen nichts mit. Frage ich das Datenbank-Feld im Programm während es läuft ab (im Dataset), so bekomme ich den korrekten geänderten Wert zurück. Mit Transaktionen hab ich es auch schon probiert, auch kein Erfolg...

Welche Routinen muss man normalerweise noch ausführen wenn man Daten in die Datenbank speichern möchte?


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:38 Uhr.

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