2009-08-29 4 views
5

Wie verwendet man C#, um eine Spalte für eine Tabelle von SQL Server hinzuzufügen?Wie verwende ich C#, um eine Spalte für eine Tabelle von SQL Server hinzuzufügen?

Zum Beispiel möchte ich die folgende SQL in C# Code auszuführen:

alter table [Product] add 
[ProductId] int default 0 NOT NULL 
+1

Die Frage und die Antwort sind zu offensichtlich. Außerdem kann man ein solches Skript (Spalte zu einer Tabelle hinzufügen) nur einmal ausführen. Ja, DDL wird im 'SqlClient'-Namespace unterstützt. –

+0

@AlexKudryashev: Ja, ein Fall von RTM-itis geht weiter ... – code4life

Antwort

16

Sie sollten einen Befehl verwenden:


using (DbConnection connection = new SqlConnection("Your connection string")) { 
    connection.Open(); 
    using (DbCommand command = new SqlCommand("alter table [Product] add [ProductId] int default 0 NOT NULL")) { 
     command.Connection = connection; 
     command.ExecuteNonQuery(); 
    } 
} 
+1

DbCommand implementiert auch IDisposable, also würde ich vorschlagen, das auch in einen using-Block zu stellen. – TrueWill

+1

Danke. Aber der obige Code vermisste den folgenden Befehl: command.Connection = connection; – Mike108

+0

@TrueWill, Mike108. Ihr habt recht. +1 für euch beide. –

2
SqlCommand cmd2 = new SqlCommand(); 
// create columns for healed 
cmd2 = new SqlCommand("ALTER TABLE TotalHeals ADD "+Healee+" INT", openCon); 
cmd2.ExecuteNonQuery(); 

Lustig, wie SqlCommand unterscheidet dann DbCommand

Verwandte Themen