AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi MySQL -- Einfügen -- Posten -- Dreifache Ergebnismenge???
Thema durchsuchen
Ansicht
Themen-Optionen

MySQL -- Einfügen -- Posten -- Dreifache Ergebnismenge???

Ein Thema von Rexet · begonnen am 5. Sep 2005 · letzter Beitrag vom 12. Sep 2005
Antwort Antwort
Rexet

Registriert seit: 24. Feb 2005
15 Beiträge
 
#1

MySQL -- Einfügen -- Posten -- Dreifache Ergebnismenge???

  Alt 5. Sep 2005, 19:46
Datenbank: MySQL • Zugriff über: Standard-Delphi BDE Komponenten
Hallo!

Hab ein etwas eigenartiges Problem, wenn ich Daten mit den datensensitiven Komponenten von Delphi in die Datenbank speichern möchte....

Also... Nachdem ich das insert der Datenmenge ausgelöst habe und ich einen Haufen Daten direkt auf meiner Maske eigegeben habe will ich das ganze per Knopfdruck "posten". Wenn ich aber poste, dann bekomme ich in meinem DBCtrlGrid die zwei oder dreifache Anzahl der nun eigentlich existierenden Datensätze. Wenn ich einen Datensatz editiere und danach speichere passiert dieses Verhalten übrigens nicht. Auch beim Löschen gibts keine Probleme. Einzig das Insert scheint das merkwürdige Verhalten auszulösen.
Die Anzahl mit "recordcount" ermittelt stimmt genau, wenn ich einen datensatz lösche wird meistens auch die richtige Anzahl angezeigt...

Nur zur Veranschaulichung: (Die Buchstaben stehen für einen bestimmten Datensatz)

vorm Posten (Datensatz wurde gerade eingefügt und Daten eingegeben)

DBctrlGrid

z <- (Der neue Datensatz)
x
y


Nach dem Posten!

z
x
y
z
x
y

Alle Datensätze sind nun doppelt.... WARUM bloß?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: MySQL -- Einfügen -- Posten -- Dreifache Ergebnismenge??

  Alt 5. Sep 2005, 19:56
Löst du das post eventuell noch mal wo anders per Code aus? Anders kann ich es mir nicht vortsellen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#3

Re: MySQL -- Einfügen -- Posten -- Dreifache Ergebnismenge??

  Alt 5. Sep 2005, 23:49
Was für einen Datenbankcursor nutzt du. Ich weiss nicht was es bei MySQL an Einstellungen gibt, aber bei anderen Serversystemen ist es nicht irrelevant, wie die Daten zum Client übertragen werden.

Andere Fehlerquelle kann das DBGrid selbst sein. Hatte ich auch mal mit Komponenten von Drittanbietern, insbesondere wenn es um die grafische Darstellung der Daten im Grid ging. Wenn dein Recordcount stimmt, scheint der Datensatz ja auch nur einmal drin zu sein. Kannst ja mal noch zusätzlich versuchen, durch eine while not EOF Schleife alle IDs der Datensätze in einer Listbox zu speichern und das Ergebnis mit deinem DBGrid zu vergleichen
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: MySQL -- Einfügen -- Posten -- Dreifache Ergebnismenge??

  Alt 6. Sep 2005, 08:23
Hast Du auch die passenden ODBC-Einstellungen für BDE vorgenommen.

Generell würde ich für den MySQL-Zugriff native-Komponenten nehmen und die BDE dorhinlegen wohin sie gehört: In den Restmüll! Sie ist nunmal vollkommmen veraltet und macht immer mehr Probleme.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: MySQL -- Einfügen -- Posten -- Dreifache Ergebnismenge??

  Alt 6. Sep 2005, 09:00
Zitat von Bernhard Geyer:
Generell würde ich für den MySQL-Zugriff native-Komponenten nehmen und die BDE dorhinlegen wohin sie gehört: In den Restmüll! Sie ist nunmal vollkommmen veraltet und macht immer mehr Probleme.
ich kann dir die ZEOS-Komponenten ans Herz legen, die funktionieren richtig gut.
vor allem hast du es einfach, wenn du mal das DBMS wechseln möchtest.

Hilfe und Tutorial findest du hier in DP.

gruessle
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Rexet

Registriert seit: 24. Feb 2005
15 Beiträge
 
#6

Re: MySQL -- Einfügen -- Posten -- Dreifache Ergebnismenge??

  Alt 9. Sep 2005, 14:33
Danke für die Tipps bisher... Das Problem ist leider immer noch aktiv. Ich hab schon öfters über diese Zeos-Komponenten gelesen, aber war leider immer etwas mißtrauisch. Das wird sich wohl ändern müssen wenn ich nen Fortschritt erzielen möchte...

Hab auf der Homepage von denen gelesen daß sie bis Delphi7 eine Version haben, ich benutz aber Delphi2005. Gibts da Probleme?
-danke, D.

Noch ne Andere Theorie: Ich vermute Probleme mit dem Insert weil man zu dem Zeitpunkt ja noch keinen fixen ID-Wert für den Datensatz hat. Also eigentlich nur "0"... Vielleicht liegt auch hier das Problem begraben...
  Mit Zitat antworten Zitat
Rexet

Registriert seit: 24. Feb 2005
15 Beiträge
 
#7

Re: MySQL -- Einfügen -- Posten -- Dreifache Ergebnismenge??

  Alt 12. Sep 2005, 11:36
So... Hab mir die Zeos Komponenten installiert und das einfügen klappt problemlos!
Danke für die Anregungen,
mfG, David aus Wien
  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 09:14 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