AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi MySQL Problem bei Insert und Edit
Thema durchsuchen
Ansicht
Themen-Optionen

MySQL Problem bei Insert und Edit

Ein Thema von devacs · begonnen am 14. Feb 2006 · letzter Beitrag vom 14. Feb 2006
Antwort Antwort
devacs

Registriert seit: 22. Mai 2005
Ort: Braunschweig
9 Beiträge
 
Delphi 7 Enterprise
 
#1

MySQL Problem bei Insert und Edit

  Alt 14. Feb 2006, 12:06
Datenbank: MySQL • Version: 5 • Zugriff über: DbExpress (von Core Lab)
Hallo Forum,

habe ein etwas kurioses Problem mit Delphi 7 und MySQL 5 (per dbexpress).
Meine Anwendung besteht aus mittlerweile 14 Tabellen. Daten
werden eingefügt, gelöscht, editiert und selektiert. Alles
klappt einwandfrei. Habe jetzt eine neue Tabelle hinzugefügt
und will die gleichen Funktionen programmieren. Wenn ich die
Tabelle in den EDIT-Modus setzte und gleich POST (mit ApplyUpdates(0))
ausführe, kein Problem.
Wenn ich im EDIT-Modus Feldwerte ändere und dann POST starte kommt
folgende Fehlermeldung: "Datensatz nicht gefunden oder von einem
anderen Benutzer geändert". Ich bin aber momentan der einzige
Benutzer.
Habe diese Tabelle gelöscht und neu angelegt, gleicher Fehler.
Habe dann alle Felder bis auf 2 gelöscht, dann geht's. Drittes
Feld hinzugefügt, dann wieder obiger Fehler.
Kennt jemand das Problem ?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: MySQL Problem bei Insert und Edit

  Alt 14. Feb 2006, 12:08
Poste mal die Tabelle ( mind. Spalte 1-3) und den Sourcecode der Fehler verursacht.
Markus Kinzler
  Mit Zitat antworten Zitat
devacs

Registriert seit: 22. Mai 2005
Ort: Braunschweig
9 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: MySQL Problem bei Insert und Edit

  Alt 14. Feb 2006, 12:37
Hallo mkinzler,

ich habe mir zum Testen nur den Minimalcode erstellt, der bei
allen anderen Tabellen funktioniert. Hier ist er:

Delphi-Quellcode:
procedure TfahrzeugeWnd.ToolButton6Click(Sender: TObject);
begin
  dModule.sds_vehicles.Insert;
end;

procedure TfahrzeugeWnd.ToolButton7Click(Sender: TObject);
begin
  dModule.sds_vehicles.Delete;
  dmodule.sds_vehicles.ApplyUpdates(0);
end;

procedure TfahrzeugeWnd.ToolButton12Click(Sender: TObject);
begin
  dModule.sds_vehicles.Edit;
end;

procedure TfahrzeugeWnd.ToolButton9Click(Sender: TObject);
begin
  with dModule.sds_vehicles do begin
    Post;
    ApplyUpdates(0);
  end;
end;

procedure TfahrzeugeWnd.ToolButton10Click(Sender: TObject);
begin
  dModule.sds_vehicles.Cancel;
end;
... und hier die volle Tabelle (wie gesagt mit 2 Spalten geht alles):

CREATE TABLE `vehicles` (
`veno` int(11) NOT NULL default '0',
`FzNr` varchar(100) default '',
`FzTyp` varchar(100) default '',
`FzBeschreibung` varchar(150) default '',
`FzKennzeichen` varchar(100) default '',
`FzFahrgestellNr` varchar(100) default '',
`FzZulassung` date default '0000-00-00',
`FzMotorNr` varchar(100) default '',
`FzRadioNr` varchar(100) default '',
`FzReifenNr` varchar(100) default '',
`FzGetriebeNr` varchar(100) default '',
`FzMotorTyp` varchar(100) default '',
`FzKipperstempelNr` varchar(100) default '',
`FzKipperstempelTyp` varchar(100) default '',
`FzAchsTyp` varchar(100) default '',
`FzAchsNr` varchar(100) default '',
`FzGrundTyp` varchar(100) default '',
`FzHoehe` varchar(100) default '',
`FzGewicht` varchar(100) default '',
`FzNutzlast` varchar(100) default '',
`FzAufmass` varchar(100) default '',
`FzNutzlastZug` varchar(100) default '',
`FzKennzeichenHaenger` varchar(100) default '',
`FzErsatzteileNr` varchar(100) default '',
`FzBemerkung` mediumtext,
`FzUpstedt` varchar(100) default '',
`FzUpstedtZug` varchar(100) default '',
`FzPinCode` varchar(100) default '',
`FzGetriebeTyp` varchar(100) default '',
`ZeigeInListe` tinyint(1) default '0',
`FzZullGesGewicht` varchar(100) default '',
`FzKm` int(11) default '0',
`FzKosten1` int(11) default '0',
`FzKosten2` int(11) default '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: MySQL Problem bei Insert und Edit

  Alt 14. Feb 2006, 12:45
Mich hätte eigentlich auch interessiert wie die einzufügenden Daten aussehen.

Der Ablauf:
Zuerst wird ToolButton12 geklickt und damit der Datensatz in den Editmodus versetzt.
Dann werden die Datenfelder verändert. Diese Änderungen sollen mit ToolButton9 zurückgeschrieben werden.
Ist dies korrekt?
Markus Kinzler
  Mit Zitat antworten Zitat
devacs

Registriert seit: 22. Mai 2005
Ort: Braunschweig
9 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: MySQL Problem bei Insert und Edit

  Alt 14. Feb 2006, 12:52
... der Ablauf ist richtig.

Noch ein Hinweis zum Fehler:

Einen neuen Datensatz einfügen und speichern geht. Wenn
ich dann auf diesem neuen Datensatz in den EDIT-Modus gehe taucht der Fehler ebenfalls
auf, auch nach Neustart von MySQL und Delphi.

Auch bei DELETE auf dem neuen Datensatz gibt es diesen Fehler.

Die Bearbeitung dieses Datensatzes über die MySQL-GUI-Tools funkt.
aber einwandfrei.

... die Art der Daten (nur Zeichenketten und Zahlen) gleicht den
restlichen 14 Tabellen, die mit gleichem Code nicht diesen Fehler
produzieren.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:15 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