Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Update DB funktioniert nicht mehr (https://www.delphipraxis.net/117081-update-db-funktioniert-nicht-mehr.html)

Snyderburn 11. Jul 2008 07:48

Datenbank: Mysql • Zugriff über: ADO

Update DB funktioniert nicht mehr
 
Hallo,

ich habe bei meiner DB zwei Tabellenfelder hinzugefügt und anschließend mit dem Update - Befehl die DB upgedated. Dieses hat auch ohne Probleme funktioniert. Aber nun erhalte ich, wenn ich in einem Feld etwas modifiziere diese Fehlermeldung: "While updating or deleting a row the wrong number of rows were affected by the command." Wenn ich mit Delphi auf die DB zugreiffe, dann können die Felder auch nicht editiert werden.

Ich weis gerade nicht, was ich machen kann.

Gruß
Snyderburn

mkinzler 11. Jul 2008 07:51

Re: Update DB funktioniert nicht mehr
 
Wie sieht den die Struktur der Tabelle und der Updatebefehl aus?

Snyderburn 11. Jul 2008 08:32

Re: Update DB funktioniert nicht mehr
 
Liste der Anhänge anzeigen (Anzahl: 1)
Die folgende Abfrage habe ich verwendet:
SQL-Code:
update `DDP_erstellen` set `DDP_ID_OrdnerNr` = 1
Im Anhang habe ich ein screenshoot von der DB-Struktur hinzugefügt.

mkinzler 11. Jul 2008 17:36

Re: Update DB funktioniert nicht mehr
 
Willst du wirklich alle Datensätze ändern?

Snyderburn 15. Jul 2008 11:56

Re: Update DB funktioniert nicht mehr
 
Zitat:

Zitat von mkinzler
Willst du wirklich alle Datensätze ändern?

Die Änderungen habe ich durchgeführt, aber nun erscheint, wenn ich ein Datensatz ändere die oben genannte Fehlermeldung.

Bernhard Geyer 15. Jul 2008 12:01

Re: Update DB funktioniert nicht mehr
 
Geht du über die maximale Fehlerquelle ADOExpress -> ADO for ODBC -> ODBC -> MyODBC -> MySQL-DB?

Falls ja mußt du im ODBC-Treiber ein paar Einstellungen vornehmen die irgendwo auf der mySQL-Homepage beschrieben sind.

Ich empfehle aber einen nativen Zugriff wie mit Kompos von Core Labs oder ZEOS (Achtung bei ZEOS die Lizenzfalle von MySQL beachten!)

RavenIV 15. Jul 2008 12:57

Re: Update DB funktioniert nicht mehr
 
Zitat:

Zitat von Bernhard Geyer
Ich empfehle aber einen nativen Zugriff wie mit Kompos von Core Labs oder ZEOS (Achtung bei ZEOS die Lizenzfalle von MySQL beachten!)

Wieso nur bei ZEOS?
Das versteh ich jetzt nicht, warum es bei CoreLabs anderst sein könnte.

Hansa 15. Jul 2008 13:05

Re: Update DB funktioniert nicht mehr
 
Die Falle liegt bei MySql und nicht direkt bei Zeos. Und die schnappt immer öfters und heftiger zu. Da wäre ich äußerst vorsichtig. Wer MySql (am besten noch per email, damit sie das auch gut zurückverfolgen können 8) ) viel frägt, der wird viele Antworten und Preislisten erhalten. :mrgreen: Das in den Klammern ist Ironie, nicht dass das wirklich einer macht. :shock:

P.S.: gehe hin und erzeuge in Deinem Dataset die Update usw. Anweisungen neu. -> Rechtsklick auf Dataset, SQL-Generator o.ä. Deinem Programm können die neuen Felder ansonsten kaum bekannt sein.

mkinzler 15. Jul 2008 14:08

Re: Update DB funktioniert nicht mehr
 
Devart( ehem. CoreLabs) benötigt keine Client-Bibliothek. Zeos schon.

Bernhard Geyer 15. Jul 2008 14:38

Re: Update DB funktioniert nicht mehr
 
Zitat:

Zitat von mkinzler
Devart( ehem. CoreLabs) benötigt keine Client-Bibliothek. Zeos schon.

Genau das ist der Grund. Eine mitgelieferte libmysql.dll in einer Installation eines Closed-Source-Programmes kostet pro verteilung eine Serverlizenz. Es gibt natürlich auch Firmenlizenzen: 30.000-60.000 € pro Jahr je nachdem ob man Transaktionsunterstützung benötigt oder nicht. Glücklich kann sich schätzen wer hier per Bridge-Pattern mehrere DB's unterstützt und nicht in Erklärungsnot kommt wenn nur MySQL unterstützt wird ("Wenn nur MySQL unterstützt wird ist das wie eine Verteilung der DB und kostet auch")


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