AGB  ·  Datenschutz  ·  Impressum  







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

SQL Create Table Probleme

Ein Thema von Privateer3000 · begonnen am 20. Dez 2009 · letzter Beitrag vom 27. Dez 2009
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#1

SQL Create Table Probleme

  Alt 20. Dez 2009, 14:09
Datenbank: mdb • Zugriff über: ado
Moin Moin,

sieht jemand im unten stehenden SQLText einen Fehler?
Delphi-Quellcode:
SQL.Text:='Create TABLE abschluss' +
              ' (id LONG NOT NULL AUTO_INCREMENT,betrag SINGLE,'+
              ' stempel DATETIME,zeit TEXT(50),abnum TEXT(50),PRIMARY KEY (id),UNIQUE (id))';
In den dokus die ich bisher gesehen habe, fand ich keine weiteren Infos über SINGLE,DATE usw.
zB wie das setzen der Nachkommestellen.
In der DDL Doku von MS sind auch nur oberflächliche Angaben, Beispiele beziehen sich meißt auf Textfelder,
aber spezielle wie Fließkommazahlen oder gar Currency sehe ich nicht.


Schönen 4. Advent der Gemeinde!
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#2

Re: SQL Create Table Probleme

  Alt 20. Dez 2009, 14:31
Gehört Primary Key und UNIQUE nicht ausserhalb der Klammer von der Felddeklaration ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: SQL Create Table Probleme

  Alt 20. Dez 2009, 14:43
Nein, eigentlich muss es so gehen. HAbe andere SQLStatements die so funktionieren!
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#4

Re: SQL Create Table Probleme

  Alt 20. Dez 2009, 15:07
Wo meckert er denn den Fehler an in dem SQL-Statement ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: SQL Create Table Probleme

  Alt 20. Dez 2009, 16:05
Syntaxfehler in CREATE TABLE-Anweisung
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#6

Re: SQL Create Table Probleme

  Alt 20. Dez 2009, 16:07
Hallo,

was ist "mdb"? Access oder MS-SQL Server oder was? Davon hängt auch ab, welche Varianten sinnvoll und/oder möglich sind. Welche Datentypen möchtest du eigentlich haben?

Auf Unique kannst du verzichten, das ist ein PrimaryKey (PK) zwangsläufig.

Der PK kann sowohl direkt bei der Spalte, als eigene Zeile innerhalb von CREATE TABLE oder nachträglich durch ALTER TABLE festgelegt werden; möglich ist alles. Siehe auch Wikibooks: Einführung in SQL.

Im übrigen hat Rolf recht mit seinen Nachfragen: Was für ein Fehler soll denn vorhanden sein? Streich zunächst den Unique-Anteil; das könnte schon reichen. Aber hat die Fehlermeldung nicht mehr Informationen, z.B. so etwas wie "in der Nähe von"?

Gruß Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#7

Re: SQL Create Table Probleme

  Alt 20. Dez 2009, 16:39
Warum gehst du nicht nach Sherlock Holmes Manier vor?
Also zuerst bekommt die Tabelle nur ein Feld.
Delphi-Quellcode:
SQL.Text:='Create TABLE abschluss2' +
              ' (id LONG NOT NULL AUTO_INCREMENT)';
Und dann Schritt für Schritt immer ein weiteres Feld dazu und den Tabellenname jeweils ändern.
So findest du ganz leicht heraus, wo genau es klemmt.
fork me on Github
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: SQL Create Table Probleme

  Alt 20. Dez 2009, 17:50
Nein, hat alles nichts gebracht, schon ein einziges Feld reicht aus.
Liegt es vllt. daran das ich mehrere "Create"s hintereinander mache?
Allerdings verpacke ich diese in eine Transaktion:

Delphi-Quellcode:
BeginTrans
 try
  Drop Table xxx
  Drop Table ....
  Create Table xxx
  Create Table....
 CommitTrans
 except
 Rollback
.....
Aber normalerweise sollte das kein Problem darstellen...
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
BlackbirdBerlin

Registriert seit: 15. Okt 2009
Ort: 10318 Berlin
91 Beiträge
 
Delphi 7 Architect
 
#9

Re: SQL Create Table Probleme

  Alt 20. Dez 2009, 18:25
Zitat von Privateer3000:
Nein, hat alles nichts gebracht, schon ein einziges Feld reicht aus.
Liegt es vllt. daran das ich mehrere "Create"s hintereinander mache?
Allerdings verpacke ich diese in eine Transaktion:

Delphi-Quellcode:
BeginTrans
 try
  Drop Table xxx
  Drop Table ....
  Create Table xxx
  Create Table....
 CommitTrans
 except
 Rollback
.....
Aber normalerweise sollte das kein Problem darstellen...
Hi,

m.E. sollte der PRIMARY KEY nicht noch durch das UNIQUE auf das gleiche Feld angewendet werden. Primary Key erzwingt per se UNIQUE auf ID.

Kannst Du mal die ganze Code-Sequenz posten, die Du verwendest?
DDL ist nicht transaktional, d.h. die ungebende Transaktionssteuerung mit BeginTrans und Commit... wirkt sich auf DDL nicht aus, sondern nur auf DML-Statements.

VG, Tim
Tim
  Mit Zitat antworten Zitat
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#10

Re: SQL Create Table Probleme

  Alt 20. Dez 2009, 18:28
Offensichtlich schon. Du musst sicherstellen, dass das DBMS (ich weiß immer noch nicht, welches du hast) die verschiedenen CREATE-Befehle getrennt versteht und hintereinander ausführen kann. In deinem o.g. Code fehlt beispielsweise das abschließende Semikolon; der MS-SQL Server verlangt ein eigenständiges GO. Manche Systeme können auch nur einen einzelnen DDL-Befehl ausführen (wie auch Tim sagt).

Gruß Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 02:46 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