AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Insert in Zeos mit mehr als 24 Feldern

Insert in Zeos mit mehr als 24 Feldern

Ein Thema von Captnemo · begonnen am 25. Mai 2011 · letzter Beitrag vom 31. Mai 2011
Antwort Antwort
Seite 3 von 3     123
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#21

AW: Insert in Zeos mit mehr als 24 Feldern

  Alt 31. Mai 2011, 08:18
Tja, hat leider alles nicht genutzt. Weder das zur Laufzeit erzeugen des SQL-Strings mit Params.ParseSQL, als auch das austesten der verschiedenen LibmysqlXX.dll's. Immer der gleiche Fehler.

Der Fehler wird ja beim parsen des SQL-Strings erzeugt, und nicht an der Stelle im Source wo er sich auswirkt und der Debugger es meldet. Interessanterweise parst aber die OI zur Designtime richtig und ermittelt dann auch dir richtige Anzahl der Parameter. Wie Zeos das aber genau macht, weiß ich zu diesem Zeitpunkt noch nicht.

Ich werde jetzt noch einen weiteren Test machen, in dem ich eine neues Testprojekt anlege, in dem ich als einzige Fremdkomponente leditlich Zeos verwende, um evtl. inkompatibilitäten mit anderen Komponenten zu vermeiden.

Was ich mir nicht vorstellen kann ist, dass Zeos als auch D2010 diesbezüglich tatsächlich einen Fehler hat. Das ich hier einen Fehler mache, sehe ich aber leider auch nicht.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.795 Beiträge
 
Delphi 10.4 Sydney
 
#22

AW: Insert in Zeos mit mehr als 24 Feldern

  Alt 31. Mai 2011, 09:01
Du könntest deine Datenbankstruktur normalisieren
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#23

AW: Insert in Zeos mit mehr als 24 Feldern

  Alt 31. Mai 2011, 10:16
Du könntest deine Datenbankstruktur normalisieren
Was würde das an dem eigentlichen Problem ändern?
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#24

AW: Insert in Zeos mit mehr als 24 Feldern

  Alt 31. Mai 2011, 11:15
So, ich habe jetzt mit einem Testprojekt den "Fehler" gefunden. Auch wenn meiner Meinung nach trotzdem noch ein Fehler vorhanden ist.

Die Parameterübergabe als Value bei Feldern <> Varchar löst diesen Fehler aus.

Bei Feldern des Typ's varchar kann ich die Parameter als Value übergeben.
Bei Feldern des Typ's integer muß man asInteger und bei Feldern des Typ's Date muß man asDate verwenden. Dann funktioniert es auch mit mehr Felder. Ich habe in meinem Text 30 Testfelder erzeugt.
Ich gehe davon aus, dass die Zahl 24 lediglich an meiner Feldstruktur lag. Wenn ich Integer oder Date schon im 5. Feld verwendet hätte wäre es wohl schon nach 5 Feldern aufgetreten.

In früheren Zeos- und Delphi-Versionen habe ich immer alles außer Date, Time und Datetime als Value übergeben. Das ganze ohne Probleme. Warum das jetzt in dieser Version nicht funktioniert ist mir ein Rätsel.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.795 Beiträge
 
Delphi 10.4 Sydney
 
#25

AW: Insert in Zeos mit mehr als 24 Feldern

  Alt 31. Mai 2011, 11:56
Zitat:
Was würde das an dem eigentlichen Problem ändern?
Weniger Spalten in Tabelle(n) -> weniger benötigte Parameter
Markus Kinzler
  Mit Zitat antworten Zitat
blackfin
(Gast)

n/a Beiträge
 
#26

AW: Insert in Zeos mit mehr als 24 Feldern

  Alt 31. Mai 2011, 12:11
Das wäre aber auch nur eine Notlösung, die das Problem nicht beseitigt, sondern evtl. nur auf einen späteren Zeitpunkt verschleppt.
Tabellen mit mehr als 24 Spalten sind in mySQL ja nicht wirklich eine Seltenheit oder etwas "abnormales"
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.795 Beiträge
 
Delphi 10.4 Sydney
 
#27

AW: Insert in Zeos mit mehr als 24 Feldern

  Alt 31. Mai 2011, 12:52
Ist aber ein Zeichen auf einen niedrigen Normalisierungsgrad
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#28

AW: Insert in Zeos mit mehr als 24 Feldern

  Alt 31. Mai 2011, 14:06
Ist aber ein Zeichen auf einen niedrigen Normalisierungsgrad
Ich denke das hängt von der Art der zu speichernden Daten und deren Wiederverwendung ab. Grundsätzlich gebe ich dir Recht, möglichst wenig Tabellenspalten in den Tabellen zu haben erhöht auf jeden Fall die Übersichtlichkeit innerhalb einer Tabelle und auch deren Verarbeitungsgeschwindigkeit.
Allerdings halte ich nichts davon alles mögliche zu referenzieren nur um es halt zu tun, ohne das eine wirkliche logische Notwendigkeit dazu besteht. Des erhöht nicht nur die möglichen Fehlerquellen während der Entwicklung sondern auch zur Laufzeit (wenn z.B. während des Speichern oder Löschen von Daten das Clientprogramm den Vorgang nicht abschließen kann). Das kann evtl. im schlimmsten Fall zu Dateninkonsistenz führen.

Letztlich hängt vieles natürlich auch von den Kundenwünschen und der Art der Verwendung ab. In diesem Fall soll es nur ein Projekt für einen einzigen Kunden werden, und dessen Datenbestand wird auch nicht so wahnsinnig groß. Deswegen speichere ich alle Personenbezogenen Daten in einer Tabelle. Lediglich weitere Adressen werden ein einer zweiten Tabelle abgelegt.

Am Ende werde es 5 oder 6 Tabellen sein, auf die auch nur von 2-3 Arbeitsplätzen drauf zugegriffen wird.

Aber letztlich ging es mir ja darum, die Ursache für das Problem zu finden, was ich zum Teil ja gefunden habe (4 Beiträge weiter oben). Denn ein Problem zu umgehen heißt nicht dass es nicht mehr da ist. Und wie es im Leben immer so ist, kommt man immer irgendwann an den Punkt, wo es dann doch nicht umgehen kann.

Warum aber das bei mir nicht geht und D2010 und bei blackfin unter D2009 doch, kann ich nicht sagen. Wäre schön wenn wir das noch rausfinden, ist aber nicht zwingend notwendig. An dieser Stelle möchte ich mich auch bei allen bedanken. Durch eure Beiträge bin ich auf die richtige Spur gekommen und kann jetzt mein Projekt unter D2010 mit Zeos doch realisieren.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.795 Beiträge
 
Delphi 10.4 Sydney
 
#29

AW: Insert in Zeos mit mehr als 24 Feldern

  Alt 31. Mai 2011, 14:56
Code:
Des erhöht nicht nur die möglichen Fehlerquellen während der Entwicklung sondern auch zur Laufzeit (wenn z.B. während des Speichern oder Löschen von Daten das Clientprogramm den Vorgang nicht abschließen kann). Das kann evtl. im schlimmsten Fall zu Dateninkonsistenz führen.
Dafür gibt es Transaktionen. Zudem sollte die Fehlermöglichkeit/zu änderende/übertragende Datenmenge durch die Normalisierung sinken, da ja nur ein kleiner Teil übertragen/geändert wird.

Wenn du schon weitere Adressen in einer eigenen Tabelle speicherst, würde ich auch die "Hauptadresse" dort ablegen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#30

AW: Insert in Zeos mit mehr als 24 Feldern

  Alt 31. Mai 2011, 18:28
Dafür gibt es Transaktionen. Zudem sollte die Fehlermöglichkeit/zu änderende/übertragende Datenmenge durch die Normalisierung sinken, da ja nur ein kleiner Teil übertragen/geändert wird.

Wenn du schon weitere Adressen in einer eigenen Tabelle speicherst, würde ich auch die "Hauptadresse" dort ablegen.
Wie gesagt, grundsätzlich gebe ich dir schon recht.

War ja auch mit meinem DB-Design noch gar nicht fertig. Als ich die Tabelle angelegt hatte, war noch nicht klar, dass mehrere Adressen hinterlegt werden sollen. Das Projekt war grad erst 30 Minuten alt, als mich das Problem von allem anderen abgelenkt hat
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 +2. Es ist jetzt 14:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf