Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   ZEOS select (https://www.delphipraxis.net/167363-zeos-select.html)

jangbu 26. Mär 2012 14:49

Datenbank: MySQL5 • Version: 5.5.19 • Zugriff über: ZEOS

ZEOS select
 
Hallo,

arbeite mit der Zeoskomponente. Meine verwendete Tabelle ist recht groß (ein paar bye header + 560(float) Werte) habe nun nach langem Suchen festgestellt, das die Probleme die ich beim update,select habe mit der Anzahl der Datenbankfelder zu tun haben. Habe die Tabelle im weiter verkleinert (Felder gelöscht) und irgendwann bekomme ich den Fehler "Fehler bei Bereichsprüfung nicht mehr. Auch wenn ich z.B. nur einige Felder selektiere funktioniert die Abfrage. Wie auch immer ich muß doch aber auch für reports alles (select *) können. Kann ich da irgendas optimieren?

begin
ZConnection1.Connected := true;
ZQuery1.Close;
ZQuery1.SQL.Clear;
SQL_str := 'select * from my.Trock';
ZQuery1.SQL.Text := sql_str;
ZQuery1.Open;
end;

Perlsau 26. Mär 2012 15:01

AW: ZEOS select
 
Was hat ein Select mit der delphi-internen Bereichsüberprüfung zu tun?
Wo tritt der Fehler überhaupt auf?
Wenn nach dem Verkleinern der Tabelle via Löschen von Feldern der Fehler nicht mehr auftritt, müßtest du doch auch sagen können, welches Feld für den Fehler verantwortlich war.

Überhaupt stellst du viel zu wenig über dein Projekt zur Ansicht, um auch nur ansatzweise auf eine ziemlich verworrene Fragestellung antworten zu können.

p80286 26. Mär 2012 15:52

AW: ZEOS select
 
Zitat:

Zitat von jangbu (Beitrag 1158666)

begin
ZConnection1.Connected := true;
ZQuery1.Close;
ZQuery1.SQL.Clear;
SQL_str := 'select * from my.Trock';
ZQuery1.SQL.Text := sql_str;
ZQuery1.Open;
end;

das würde ich zu
Delphi-Quellcode:
begin
  ZConnection1.Connected := true;
  ZQuery1.Close;
  ZQuery1.SQL.Text:='select * from my.Trock';
  ZQuery1.Open;
end;
machen.

Und ich sehe keinen Grund warum die Bereichsüberprüfung hier zuschlagen sollte.
Nutzt Du hier in der Nähe ein dyn. Array, was Du uns unterschlagen hast?

Und warum holst Du die Daten, die Du abforderst nicht auch ab?

Gruß
K-H
K-H

jangbu 26. Mär 2012 16:15

AW: ZEOS select
 
Danke, für Eure Anworten. Hab mich jetzt Feld für Feld rangetatstet. Bei 256 Felder ist Schluß. Habe die Tabelle suggsesive vergrößert. Ab 256 Felder in der mySQL-Tabelle bekomme ich von der ZQuery einen "Fehler bei Bereichsprüfung" zurück. Ist nachfollziehbar. Habe bis jetzt keinen Hinweise auf die Maximale Anzahl von Spalten (Feldern) gefunden.
ZQuery-ZConnection-Datasource-DBGrid

mkinzler 26. Mär 2012 16:17

AW: ZEOS select
 
Es scheint sich ja um ein nicht normalsiertes Datenbankschema zu handeln

jangbu 26. Mär 2012 16:25

AW: ZEOS select
 
Die Struktur der Tabelle steht fest, ich habe nur versucht Schritt für Schritt an das Problem zu gelangen. Mir ist keine Begrenzung auf Spaltenanzahl bekannt.
Problem tritt auf ab:
Größe: (varchar(10)+Datetime+3*int)+252*float bzw. SpAnzahl: 5+252=257. Also muss es doch irgendwo eine Begrenzung auf 256 Felder geben? Oder

mkinzler 26. Mär 2012 16:27

AW: ZEOS select
 
Bei einem normalsierten Schema ist eine deart große Anzahl von Spalten aber fast ausgeschlossen.

DeddyH 26. Mär 2012 16:34

AW: ZEOS select
 
Es kann ja immerhin sein, dass die Spaltenanzahl ZEOS-intern als Byte definiert ist. Da gehen halt nur 256 (obwohl eigentlich 255?) rein, was normalerweise dicke ausreichen sollte.

jangbu 26. Mär 2012 16:36

AW: ZEOS select
 
Es gibt nur eine einzige Tabelle "Messwerte". Hier werden zyklisch Messdaten aus einer (SPS)Anlage abgelegt. Dabei fallen leider pro ID (Prüfnr) so viele real-Werte an.

p80286 26. Mär 2012 16:47

AW: ZEOS select
 
und wie wäre es mit

Id
wert
timestamp

das sollte eigentlich ausreichen ?

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:45 Uhr.
Seite 1 von 2  1 2      

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