Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Prism Tabelle anlegen mit SQLCommand (ADO.NET) (https://www.delphipraxis.net/100897-tabelle-anlegen-mit-sqlcommand-ado-net.html)

fly_singapore 5. Okt 2007 09:38

Datenbank: MS SQL 2002 • Zugriff über: ADO.NET

Tabelle anlegen mit SQLCommand (ADO.NET)
 
Eigentlich wieder mal ein triviales Thema und ich habe auch in Foren nachgegoogelt .

ich möchte ganz simpel eine Tabelle anlegen. Die Rechte habe ich zuvor schon eingerichtet; der im connectionstring angegebene User hat volle tabellenanlegerechte.

am liebsten möchte ich ja mit einem SQLCommand-Objekt arbeiten. Leider verfügt dieses aber über keine CreateCommand Methode.

Delphi-Quellcode:


da : SQLDataAdapter;


  // Connectionteil

       connect := SQLConnection.Create('Data Source=134.12.61.158;Initial Catalog=migration; User ID=vmXXXX;password=XXXXXX);
       // SQL_Statement für das Erstellen einer Tabelle

        cSQL_Create_Table := '  CREATE TABLE [dbo].[Testtabelle_temp] ( '   ;
        cSQL_Create_Table := cSQL_Create_Table + '[ID] [float] NOT NULL , ' ;
        cSQL_Create_Table := cSQL_Create_Table + '[S_QKDNR] [float] NULL  ' ;
        cSQL_Create_Table := cSQL_Create_Table + ') ON [PRIMARY]           ' ;
 
   // Aufbau DataAdapter
        da := SQLDataAdapter.Create;
Jetzt dachte ich, es gäbe ein Createcommand. So in etwa:
Delphi-Quellcode:

CreateCMD := SQLCommand(cSQL_Create_Table, connect);

da.CreateCommand := CreateCMD;  // oder ähnlich
CreateCMD.ExecuteNonQuery();
Vielleicht der falsche Ansatz. Oder nicht zu Ende gedacht, oder zu wenig Kenntnisse Vielleicht kann mir einer von Euch helfen..
Vielen Dank

marabu 5. Okt 2007 10:30

Re: Tabelle anlegen mit SQLCommand (ADO.NET)
 
Hi,

was ist mit der Methode CreateCommand der Connection?

Grüße vom marabu

Jürgen Thomas 5. Okt 2007 11:06

Re: Tabelle anlegen mit SQLCommand (ADO.NET)
 
Ergänzend zu marabus Vorschlag möchte ich darauf hinweisen, dass es sehr viele Möglichkeiten gibt, von einem Objekt aus andere dazugehörige Objekte zu erzeugen. Beispiel:
  • zuerst DbConnection erzeugen, dann DbConnection.CreateCommand
  • zuerst DbConnection und (separat) DbCommand erzeugen, dann DbCommand.Connection eintragen
Ich empfehle deshalb dringend, in der NET SDK-Doku die verschiedenen Überladungen zu studieren.

Hinweis 1: Der DbDataAdapter wird in der Regel benutzt, wenn mehrere Datensätze gelesen oder gespeichert werden (aber auch dann nicht immer), aber für einen einzelnen DbCommand fast nie.

Hinweis 2: Ich schreibe von Db-Klassen; dies ist immer durch den passenden DbProvider zu ersetzen - also Sql* für den MS-SQL Server.

Gruß Jürgen

fly_singapore 5. Okt 2007 11:29

Re: Tabelle anlegen mit SQLCommand (ADO.NET)
 
@marabu

vielen Dank für den Hinweis..



@jürgen


Werde mit die NET SDK Hilfe durchlesen.. Vielen Dank




Schönes Wochenende


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:20 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