AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Prism Tabelle anlegen mit SQLCommand (ADO.NET)
Thema durchsuchen
Ansicht
Themen-Optionen

Tabelle anlegen mit SQLCommand (ADO.NET)

Ein Thema von fly_singapore · begonnen am 5. Okt 2007 · letzter Beitrag vom 5. Okt 2007
Antwort Antwort
fly_singapore

Registriert seit: 31. Mär 2007
Ort: Kolbnitz/Bonn Österreich/Deutschland
96 Beiträge
 
Delphi 2006 Enterprise
 
#1

Tabelle anlegen mit SQLCommand (ADO.NET)

  Alt 5. Okt 2007, 09:38
Datenbank: MS SQL 2002 • Zugriff über: 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
Peter Steffens
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Tabelle anlegen mit SQLCommand (ADO.NET)

  Alt 5. Okt 2007, 10:30
Hi,

was ist mit der Methode CreateCommand der Connection?

Grüße vom marabu
  Mit Zitat antworten Zitat
Jürgen Thomas

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

Re: Tabelle anlegen mit SQLCommand (ADO.NET)

  Alt 5. Okt 2007, 11:06
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
#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
fly_singapore

Registriert seit: 31. Mär 2007
Ort: Kolbnitz/Bonn Österreich/Deutschland
96 Beiträge
 
Delphi 2006 Enterprise
 
#4

Re: Tabelle anlegen mit SQLCommand (ADO.NET)

  Alt 5. Okt 2007, 11:29
@marabu

vielen Dank für den Hinweis..



@jürgen


Werde mit die NET SDK Hilfe durchlesen.. Vielen Dank




Schönes Wochenende
Peter Steffens
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:03 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