2010-10-24 7 views
2

J'ai une table SQL appelée tbl, im essayant d'y ajouter les colonnes A, B et C.Comment exécuter une requête ALTER TABLE?

Quand j'exécutez la commande:

String addcolumns = "ALTER TABLE SqlCreatedTbl ADD A char(50) ;"; 
         ...... 
      cmd = new SqlCommand(addcolumns, conn); 
      conn.Open(); 
      cmd.ExecuteNonQuery(); 

La colonne est ajouté!

Cependant, lorsque je tente d'ajouter plusieurs colonnes, il ne fonctionne pas, il me donne une erreur .. la commande pour ajouter im writting plusieurs colonnes est la suivante:

addcolumns = "ALTER TABLE SqlCreatedTbl ADD (A char(50), B char(50), C char(50));"; 

le débogueur met en évidence la ligne: cmd.ExecuteNonQuery(); et jette l'exception suivante:

exception Détails: System.Data.SqlClient.SqlException: syntaxe incorrecte près '('

. 210

Répondre

2

Si vous êtes en interaction avec une base de données SQL Server (en utilisant T-SQL), vous ne devez pas placer entre parenthèses autour de votre liste de définitions de colonnes, même lors de l'ajout de plusieurs colonnes:

ALTER TABLE SqlCreatedTbl ADD A char(50), B char(50), C char(50); 
+0

Merci! ça marche maintenant! Comment puis-je marquer votre réponse comme correcte? im nouveau sur ce forum – PeacefulSoul

+0

Cliquez sur la coche sur le côté gauche juste en dessous du numéro. Vous ne pouvez marquer qu'une réponse comme acceptée par question, alors choisissez l'une des nôtres. – BoltClock

4

Débarrassez-vous des parenthèses que vous avez ajoutées dans la clause ADD. Vous ne les avez pas dans la version à colonne unique, et vous n'en avez pas non plus besoin avec plusieurs colonnes. Spécifiez ADD une fois et puis juste séparant par des virgules votre liste

+0

Merci! ça marche maintenant! Comment puis-je marquer votre réponse en tant que corrrect? im nouveau sur ce forum – PeacefulSoul

+2

Il y a une coche verte sous la partition à gauche de mon message. Cela le marque comme la réponse acceptée. Vous ne pouvez avoir qu'une seule réponse acceptée. Choisissez celui qui vous aide le plus. Pour les réponses qui sont essentiellement des doublons, la convention est d'accepter le plus tôt. –