![]() |
Datenbank: MySQL • Zugriff über: Zeus Compos
Kennt sich jemand mit Zeos aus?
Hi, ich möchte mit den Zeos Compos rausfinden welches das AutoInc Feld in der MySQL Tabelle ist! Nun
habe ich es mit FieldType = ftAutoInc und Filds.Fields[J] is TAutoIncField versucht aber in beiden Fällen bekomme ich das Ergebnis False! Und dann wollte ich auch testen ob es ein IntegerTyp ist und habe es so gemacht FieldType in [ftSmallint,ftInteger,ftWord,ftAutoInc,ftLargeint] aber BigInt wird nicht erkannt ist doch Largeint oder? Sind die Type bei Zeus Compos anders als bei der BDE! In welcher Datei finde ich den Typen? |
Re: Kennt sich jemand mit Zeus aus?
so am rande erwähnt:
die Komponenten heissen ZEOS, nicht ZEUS. such hier im forum mal nach ZEOS und du wirst hilfe finden. es gibt auch etliche tutorials dazu hier im DelphiPraxis. gruessle |
Re: Kennt sich jemand mit Zeus aus?
Zitat:
|
Re: Kennt sich jemand mit Zeos aus?
Hallo JRegier,
um herauszufinden welche Indexe (Primary/Secondary) in deiner Tabelle enthalten sind würde ich eine Query über die Tabelle laufen lassen und den ersten Wert (Primary) abfragen:
Delphi-Quellcode:
oder du fragst das Feld "Extra" ab, ob es den Wert auto_increment enthält:
TZQuery.sql.clear;
TZQuery.sql.add('Show Index from `Datenbank`.`Tabelle`'); TZQuery.open;
Delphi-Quellcode:
TZQuery.sql.clear;
TZQuery.sql.add('Show full columns from from `Datenbank`.`Tabelle`'); TZQuery.open; ... //Datensätze durchlaufen ... if TZQuery.fieldbyname('Extra').asstring = 'auto_increment' then aiFeld := TZQuery.fieldbyname('Field').asstring .... Gruß Matt |
Re: Kennt sich jemand mit Zeos aus?
Zitat:
Aber ich verstehe nicht ganz! Was ist das Feld "Extra" ist ein Reserviertes Wort in der DB das diese Information dazu enthält? |
Re: Kennt sich jemand mit Zeos aus?
Ja genau, das gehört zu den (Columns)(Feld)-bezeichnungen von MySQL-Tabellen!
-> Field - Type - Null - Key - Default - Extra - Collation - Privileges - Comment Gruß Matt |
Re: Kennt sich jemand mit Zeos aus?
Zitat:
Sag nur ist das hier nur Tippfehler? mit doppelten from
Delphi-Quellcode:
Und wo kann man dise SQL Befehle nachlesen gibts bei jedem DatenbankTyp eigene zusätzliche Befehle?
TZQuery.sql.add('Show full columns from from `Datenbank`.`Tabelle`');
Bei ![]() gesagt das ich mit DataType = ftAutoInc prüfen muß aber ich wußte ja, dass DataType auch auf AutoInc Felder bei verschiedenen Datentypen von TINYINT - BIGINT immer nur jeweils den Datentyp zurückgibt! Na ja hatte auch versucht mit:
Delphi-Quellcode:
das alles hatte ja nichts gebracht!
Field[J] is TAutoIncField
//und FieldDefs[J].AutoGenerateValue = arAutoInc Nun habe ich noch einige Fragen: AutoInc kann immer nur erstes Feld sein? Kann eine Tabelle mehrere AutoInc Felder haben? // was überaus sinnlos erscheinen mag aber nicht //wenn wir die nächste Frage betrachten man weiß ja nie //wer sich was ausgedacht hat z.B. wenn man mehrere //AutoInc zu einer größeren Zahl addieren will Kann eine Tabelle von mehreren Schlüßeln abhängig sein? Ich kenne einen guten Programmierer, der gab mir den Tip FieldDefs[J].AutoGenerateValue = arAutoInc aber er sagte mir auch dass er keine AutoInc Felder verwendet wenn er eine DB entwickelt er meint das wäre besser! Stimmt das? Ich weiß nicht der Aufwand wäre ja etwas größer wenn man jedes mal den Schlüßel prüfen muß? |
Re: Kennt sich jemand mit Zeos aus?
Hai JRegier,
das mit dem doppelten FROM ist ein Teppfihler ;-) Bei mySQL kann immer nur ein Feld vom Typ Auto-Inc sein. Dieses Feld muss ausserdem ein Primärschlüssel sein. Das Auto-Inc Feld muss nicht das erste in der Tabelle sein. Eine Tabele kann mehrere Schlüssrl haben. Das mit dem AutoInc ist so eine Sache. Da mySQL (zur Zeit) noch keine StoredProc bzw Trigger unterstützt gibt es eigentlich keine Alternative. Wobei ich selber den PK einer Tabelle fast immer auf ein AutoInc-Feld lege. Natürlich hat jedes DBMS neben den "Standard-SQL-Befehlen" auch immer noch jede Menge eigene. Für mySQL kannst Du dir ja ![]() |
Re: Kennt sich jemand mit Zeos aus?
Vielen Dank für die Tipps Leute! Ihr seid Klasse!
Sagt mal werden immer nur Felder des gleichen Datentyps verknüpft? Also ich kann mir nicht vorstellen das z.B. ein TINYINT mit BIGINT verknüpft ist da ja das BIGINT bald über das niveau des TINYINT ist! Oder? Oder gibts mal DB's wo String und Integer schlüßel sind? Übrigens ich habe es heute Abend ausprobiert mit den AutoInc Feldern einlesen! Alles super klappt wunderbar! Vielen Dank für Eure Hilfe! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz