2012-08-02 1 views
-1

J'essaie de résoudre pourquoi mon code ne fonctionne pas. L'astuce est précisée. Je me demande aussi, quand cela fonctionne, la clé primaire, dans ce cas, les colonnes d'ID également réinitialiser et recommencer à partir de 1?Essayer de supprimer tous les contenus du tableau

 connection = new SqlConnection(connectionString); 
     connection.Open(); 
     sql = "DELETE * From Guests"; 
     sqlCommand = new SqlCommand(sql, connection); 
     sqlCommand.EndExecuteNonQuery(); 
     connection.Close(); 

Répondre

5

Vous n'avez pas besoin de l'astérisque

DELETE FROM Guests 

Pour réinitialiser la clé primaire, utilisez

TRUNCATE TABLE Guests 

Et vous voulez

sqlCommand.ExecuteNonQuery(); 

pas EndExecuteNonQuery

+0

Merci, mais je l'ai testé sans le *, mais cela ne semble pas être le problème! –

+0

Voir les réponses montées au dessus – podiluska

+2

@ 3D-kreativ Vous devez utiliser 'ExecuteNonQuery' au lieu de' EndExecuteNonQuery' – sloth

3

Vous n'avez pas besoin de "*". La syntaxe correcte pour une instruction delete est:

delete from Guests 

Vous devriez aussi prendre l'habitude d'utiliser « l'aide » pour les types jetables, comme SqlConnection et SqlCommand. Comme ceci:

using (SqlConnection connection = new SqlConnection(connectionString)) 
{ 
    connection.Open(); 
    string sql = "DELETE From Guests"; 
    using (SqlCommand sqlCommand = new SqlCommand(sql, connection)) 
    { 
     sqlCommand.ExecuteNonQuery(); 
    } 
} 
+0

Merci, mais je l'ai testé sans le *, mais cela ne semble pas être le problème! –

Questions connexes