Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Mit MyDac insert/add, remove und edit/update (https://www.delphipraxis.net/115024-mit-mydac-insert-add-remove-und-edit-update.html)

geskill 4. Jun 2008 15:22

Datenbank: MySQL • Version: 5.1 • Zugriff über: MyDAC 5.1

Mit MyDac insert/add, remove und edit/update
 
Hi,
ich bin gerade fast am verzeifeln...

Ich gebe mir Daten aus einer externen MySQL Datenbank in eine Tabelle aus. Nun möchte ich die aber auch Bearbeiten können.

So mache ich ein Update in PHP z.B:
SQL-Code:
"UPDATE Tabelle SET version='$version',news='$news',hinweis='$comment' WHERE id = 1";
In Delphi weiß ich nicht wo ich ansetzen muss, ich habe dort die "Query", wo ich die Daten angebe, doch wenn ich jetzt z.b. Daten ändere und dann im TDBNavigator den "Hacken" klicke kommt ein Fehler:

Could not convert variant of type (String) into type (Date)

In der Datenbank habe ich aber kein Datum's Feld, warum will der was umwandeln ???

Zur Not reicht auch ein Link zu einem Tutorial, aber bloß keins wo man die Installation von irgendwelchen Komp. oder die Grundlagen einer Datenbank erklärt bekommt. Es geht speziell um den Gebrauch der Komponenten, genauer das bearbeiten von verschieden Tabellen mit den Komponenten. (Die Demos von MyDac kann man in dieser Hinsicht ja wohl voll vergessen!!!)

Danke
geskill

geskill 4. Jun 2008 17:25

Re: Mit MyDac insert/add, remove und edit/update
 
Mir würde auch ein fertiges Programm (Unit) reichen, nur um zu sehen wie es gemacht wird, natürlich ohne Server Daten etc. Hauptsache ich kann mich irgendworan orientieren... Sonst mach ich das über PHP was zwar klappt aber total dämlich ist, weil ich eben einen Server mit externer Datenbank-Anbindung habe...

bluesbear 4. Jun 2008 18:04

Re: Mit MyDac insert/add, remove und edit/update
 
Ich habe von PHP null Ahnung, aber wenn du in Delphi sowas hinschreibst '$version' dann ist das ein String. Meinst du vielleicht Parameter? Die werden mit version=:version hingeschrieben.

mkinzler 4. Jun 2008 18:22

Re: Mit MyDac insert/add, remove und edit/update
 
In Php werden mit Variablen in " eingeschlossenes Zeichenketten durch deren Wert ersetzt

geskill 4. Jun 2008 19:31

Re: Mit MyDac insert/add, remove und edit/update
 
Es geht darum, ich habe eine Verbindung zu Datenbank, jetzt möchte ich einige Datenbankeinträge Bearbeiten, dafür brauche ich an sich erstmal eine "TMyQuery", jetzt kann man automatische Update Funktionen erstellen, will ich aber ein Element bearbeiten,
dann nervt der mich z.b. mit Spallte ... cannot be NULL, ich habe aber in der Datenbank eingestellt, dass diese auch NULL annehmen kann. Am besten wäre hat ein Beispiel, dass muss doch mal jemand gemacht haben... Halt die Standard Funktionen ...

sx2008 5. Jun 2008 06:40

Re: Mit MyDac insert/add, remove und edit/update
 
Also mit einer ganz normalen Abfrage kannst du die Datensätze einer Tabelle auslesen und mit einem DBGrid anzeigen:
Delphi-Quellcode:
 Query1.Text := 'SELECT * FROM MeineTabelle';
 Query1.Open;
Diese Query wird mit einer TDataSource verkoppelt und die DataSource mit einem DBGrid.
DataSource1.Dataset = Query1
DBGrid1.Datasource = Datasource1

Und nun kommt etwas "Magic" der VCL. Man kann die Daten im Grid direkt editieren.
Dazu wird im Hintergrund je nach Bedarf eine UPDATE-, INSERT- oder DELETE-Anweisung generiert,
ohne dass man als Programmierer dafür etwas tun müsste.
Die Abfrage ist sozusagen eine "Live"-Abfrage und die Daten können direkt geändert werden.
Natürlich klappt das nicht immer. Wenn die Abfrage über 2 oder mehr Tabellen geht,
weiss die VCL nicht welche Tabelle geändert werden soll.

Ich wollte nur zeigen, dass man nur eine Query, eine Datasource und ein DBGrid braucht, um eine Tabelle zu editieren. Zusammen mit einem DBNavigator hat man mit vier Komponenten einen vollwertigen Editor.


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