Announcement

Collapse
No announcement yet.

Tabelle erstellen ohne SQL

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Tabelle erstellen ohne SQL

    Hallo zusammen,

    Ist es mit den ADO Komponenten möglich, Tabellen zu erstellen, ohne dabei eine Zeile SQL zu schreiben !?.

    Zur Zeit muss ich bei einer Setup-Routine für jede Datenbank ein spezielles Create-Script ausführen (Oracle, SQL Server, ...). Mein Ziel ist, ein hardcodiertes, allgemein gültiges Create-Script, dass auf jeder SQL-99 kompatiblen Datenbank erfolgreich ausgeführt werden kann.

    Beispiel:
    <PRE>
    MSSQL: Create Table Dummy (Field1 INT, Field2 nvarchar(100));
    ORACL: Create Table Dummy (Field1 NUMBER oder INT, Field2 varchar2(100));
    </PRE>

    Möglicherweise könnte mir die Methode <PRE>TADOTable.TFields.Add</PRE> weiterhelfen, aber ich weiß nicht wie !?. Ich vermute jedoch, dass es sich bei den Fields um virtuelle Datenfelder handelt.

    Gruß, Tom

  • #2
    Hallo,

    zu Frage 1: Ja. Die <b>ADO Extension for Data Definition Language and Security (ADOX)</b> unterstützen die Schemadaten der Datenbank (Catalog) sowie die Zugriffsberechtigungen (User und Groups). Für jedes Datenbankobjekt gibt es ein entsprechendes ADOX-Objekt. Wenn hier im FORUM nach der Zeichenkette ADOX gesucht wird, sollten sich viele Beispiele dafür finden lassen.

    &gt;..dass auf jeder SQL-99 kompatiblen Datenbank erfolgreich ausgeführt werden kann..

    Hier liegt das Problem, denn ADOX kann nur dann funktionieren, wenn der OLE DB Provider dies unterstützt. Soweit geht die Freundschaft nun auch wieder nicht, als das Microsoft für alle Datenbanken die ADOX-Anbindung selbst schreibt :-

    Comment


    • #3
      Danke, Andreas, dies reicht mir an Informationen.

      Gruß, To

      Comment


      • #4
        Hallo,

        ich arbeite mit der Jet 4.0 Engine an einer Access-gekoppelten TADOTable, die eigentlich alles tut, was ich möchte (inclusive Darstellung der Access-Tabellendaten in Aufklappfeldern, hinzufügen von Records, löschen von Records usw.). Meine Frage betrifft nun aber das Erweitern von Tabellen um neue Datenbankfelder von Delphi aus (wie es im MS Access selbst geht ist klar). Ich weiß, dass die SQL-Anweisung CREATE TABLE zum Erstellen von neuen Tabellen gut ist, aber wenn die Tabelle bereits existiert??? Wie legt man neue Datenbankfelder an bzw. löscht diese? Ich habe bereits eine SQL-Referenz studiert aber ich bin da noch nicht fündig geworden.
        Vielleicht könnt ihr mir mit eurem Wissen beistehen? Ich bedanke mich im Voraus.

        Viele liebe Grüße,

        Claus Jahn

        Comment


        • #5
          Hallo,

          &gt;Wie legt man neue Datenbankfelder?

          dazu ist die Anweisung <b>ALTER TABLE</b> vorgesehen, die im Fall einer ACCESS-Datenbank auch von den <i>Jet 4.0 ANSI SQL-92 Extensions</i> unterstützt wird.

          &#10

          Comment

          Working...
          X