AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Probleme mit SQL-Datentypen
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit SQL-Datentypen

Ein Thema von hsbc · begonnen am 3. Mai 2005 · letzter Beitrag vom 3. Mai 2005
Antwort Antwort
Seite 1 von 2  1 2      
hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#1

Probleme mit SQL-Datentypen

  Alt 3. Mai 2005, 07:41
Datenbank: Firebird • Zugriff über: Delphi 7 Professional + Zeos-Lib.
Hallo allerseits,

Ich schreibe gerade ein Programm, mit welchem ich mehrere Tabellen mittels SQL für mySQL, MSSQL und Firebird anlegen möchte. Nach Möglichkeit möchte ich nur solche Datentype verwenden, welche auf allen drei Servern laufen.
Nun habe ich Probleme mit folgenden SQL-Datentypen:

DATE bzw. DATETIME:
DATE läuft nicht auf MSSQL
DATETIME läuft nicht auf Firebird
Gibt es hier eine Alternative, welche auf allen 3 genannten Servern läuft?

BOOL: läuft nicht auf MSSQL
Welche Datentype kann man alternativ hier verwenden, die wieder auf allen 3 genannten Servern läuft?

Für Hinweise wäre ich wieder sehr dankbar.

mfg
Herbert
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Probleme mit SQL-Datentypen

  Alt 3. Mai 2005, 07:56
Da gibt es nur wenige Möglichkeiten: du erfindest deine eigenen Datentypen und ersetzt diese zum Zeitpunkt
wenn die SQL Anweisung zur Anwendung kommen soll. z.B.
CREATE TABLE tabelle4711( datum $DATETIME$ NOT NULL) Die Dollarzeichen helfen dir beim ersetzen.

Beim MS SQL kann man benutzerdefinierte Datentypen verwenden.
Wenn du einen benutzerdefinierte Datentyp einmal verwendet hast, kannst du ihn nie mehr ändern!!
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Probleme mit SQL-Datentypen

  Alt 3. Mai 2005, 08:17
Zitat von hsbc:
BOOL: läuft nicht auf MSSQL
bit?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Probleme mit SQL-Datentypen

  Alt 3. Mai 2005, 08:25
Zitat von Bernhard Geyer:
Zitat von hsbc:
BOOL: läuft nicht auf MSSQL
bit?
Ach ja....
der MS SQL Server kennt die Konstanten True und False nicht.
Also müssen Bedingungen mit wert=0 sowie wert<>0 formuliert werden.
Andreas
  Mit Zitat antworten Zitat
hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#5

Re: Probleme mit SQL-Datentypen

  Alt 3. Mai 2005, 08:38
Gibt es eigentlich irgendwo eine Tabelle mit Gegenüberstellung der Datentypen der einzelnen Server?

Wo kann man überhaupt nachlesen, welche Datentypen welcher Server unterstützt? Ich finde da so nirgends eine befriedigende Antwort.

Ansonsten danke schon mal für die Beiträge. Habe befürchtet, dass ich da noch so einiges ändern werde müssen.

mfg
Herbert
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Probleme mit SQL-Datentypen

  Alt 3. Mai 2005, 08:53
Wenn Du für mehrer DBMS-Systeme eine Anwendung schreiben willst, so solltest Du folgendes befolgen:

- Nur Basistypen wie String/Blob/Integer verwenden
- Datumswerte in festen Format speichern (z.B. ISO-Datumsformat yyyy-mm-dd)
- Boolwerte als varchar(1) oder int definieren und entsprechen False festlegen (z.B. '0' bzw. 0)
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

Re: Probleme mit SQL-Datentypen

  Alt 3. Mai 2005, 09:01
Um zu erfahren, was es an Felder gibt, kannst du ja alle 3 Tabellen mal erstellen, um zu sehen, was möglich ist.

Und dann eine Übersicht erstellen.

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#8

Re: Probleme mit SQL-Datentypen

  Alt 3. Mai 2005, 10:52
Zitat von Bernhard Geyer:
Wenn Du für mehrere DBMS-Systeme eine Anwendung schreiben willst, so solltest Du folgendes befolgen:

- Nur Basistypen wie String/Blob/Integer verwenden
...
So ist es. Du mußt für so was den kleinsten gemeinsamen Nenner finden. Dies bedeutet allerdings IMHO : es wird ein schlechtes und lahmes Programm werden. Ich würde es aus weiteren Gründen nicht kaufen : eine von mir angeregte Änderung müßte für mehrere DBs geschrieben werden. Egal wie, es würde länger dauern und teurer werden als für mich nötig. So was will keiner. Eventuell kommst Du an einen Punkt, wo die Zieldatenbank nicht mehr mitmacht. D.h.: das Programm wird zu sich selber inkompatibel. usw. Der Ansatz sieht zwar vernünftig aus, im Endeffekt ist er es aber nicht. Den Enduser interessiert doch die Datenbank nicht die Bohne.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.338 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Probleme mit SQL-Datentypen

  Alt 3. Mai 2005, 11:06
Zitat von Hansa:
Den Enduser interessiert doch die Datenbank nicht die Bohne.
Es sei mal dahingestellt, ob das ganze sinnvoll ist.
Aber mich interessiert es sehr wohl welche DB dahinter steht. Wenn ich mehrere DB-Applikationen habe, will ich nicht auch noch mehrere DBs haben und administrieren.
Mir kommt jedenfalls keine MS-SQL-DB ins haus. So hat jeder seine Vorlieben. Das soll jetzt aber keine Diskussion werden, welche DB die beste ist. MS-SQL sollte nur ein Beispiel sein. Eine gute, intensiv genutzte DB braucht einen eigenen Server (Hardware). Soll ich für jede DB-Applikation einen eigenen DB-Server einrichten?
Hansa, bleib realistisch.
Peter
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#10

Re: Probleme mit SQL-Datentypen

  Alt 3. Mai 2005, 11:41
Tja, wer weiß. Mir wäre es zumindest wichtiger zu wissen, daß das Programm macht, was es soll und ich schnellen Support habe. Ausreden, daß ein Update länger dauert, weil der MySql Teil noch immer nicht funktioniert zählen eben nicht. Weil es keine Sau interessiert. Was ist MySql ? Bzw. wer weiß das bzw. hat nur den Namen schon mal gehört ? Jasocul, ich rede jetzt vom Enduser und nicht von einem Programmierer. Meine Philosophie ist es, besser etwas komplett 100 % richtig zu machen, als 10 Sachen nur zum Teil. Wenn es nun heißt, das Programm benutzt Oracle, dann ist das eben so. Ist das Programm gut, dann wird es gekauft. Mit Sicherheit allerdings eben nicht wegen Oracle oder MySql.
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:41 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