2017-03-29 6 views
0

Bonjour J'ai un gros problème J'essaie d'ajouter une nouvelle colonne à ma table de base de données MSSQL et je l'ai essayé comme des milliers de fois mais ça ne marchera pas. Ma destination est d'appuyer sur un bouton puis d'utiliser la fonction "eventsspalte_Hinzufügen" pour ajouter une nouvelle colonne avec le nom qui est inséré par l'utilisateur.Ajouter une colonne à la table sql avec C#

Ceci est l'extrait.

private void eventsspalte_Hinzufügen() 
{ 

    SQL_eingabe = "ALTER TABLE Teilnahmen_Events ADD @tbName bit NOT NULL ;"; // CONSTRAINT strconst3 DEFAULT 0 

    con.Open(); 
    SqlCommand cmd = con.CreateCommand(); 
    cmd.CommandType = CommandType.Text; 
    cmd.CommandText = SQL_eingabe; 
    cmd.Parameters.AddWithValue("@tbName", tb_Eventname.Text); 
    cmd.ExecuteNonQuery(); 
    con.Close(); 
} 

L'exception dit que cmd.ExecuteQuery() n'est pas en mesure d'exécuter la commande SQL en raison de la syntaxe à wromg @tbName J'ai essayé aussi d'utiliser une variable comme:

ALTER TABLE Teilnahmen_Events ADD'"+ tb_Eventname.Text +"'bit NOT NULL ;"; 

mais aussi le travail na pas. .. J'espère que vous avez une solution pour moi merci beaucoup.

+1

Quand il ne fonctionnait pas - ce qui était l'erreur? – BugFinder

Répondre

2

Vous ne pouvez pas transmettre le nom de la colonne en tant que paramètre.

Dans votre deuxième exemple, des guillemets simples ne sont pas nécessaires, il changer en

ALTER TABLE Teilnahmen_Events ADD "+ tb_Eventname.Text +" bit NOT NULL ;"; 
+0

merci beaucoup !! Je reste assis ici pendant 2 jours comme le retard stupide que je suis vraiment ... – Luca