Existe-t-il un moyen (similaire au code ci-dessous) de supprimer toutes les lignes d'une table spécifiée à l'aide de c #?
SqlConnection con = new SqlConnection(conString);
con.Open();
string sql = @"DELETE*FROM compsTickers;";
SqlCommand cmd = new SqlCommand(sql, con);
cmd.ExecuteNonQuery();
con.Close();
En ce moment je reçois une erreur:
Syntaxe incorrecte près de '*'
Il n'y a rien de mal avec votre code C #; c'est une erreur de syntaxe SQL.
Quoi qu'il en soit, le *
n'est pas nécessaire. Vous supprimez rows , not columns , d'une table, vous ne spécifiez donc pas de colonnes à supprimer:
DELETE FROM compsTickers
Vous ne spécifiez pas de colonnes DELETE FROM compsTickers
est suffisant.
(De plus, TRUNCATE TABLE compsTickers
fera l'affaire, c'est une méthode de suppression différente, qui pourrait avoir un sens en fonction des paramètres de votre journal des transactions)
Supprimez simplement le *
car il n'est pas nécessaire pour les instructions DELETE
string sql = @"DELETE FROM compsTickers;";
DELETE (Transact-SQL) (lien)
FROM est facultatif. Vous êtes toujours en train de partir d'une table, alors tout ce dont vous aviez besoin était (vous n'avez même pas besoin d'un délimiteur de déclaration, pour une seule déclaration):
DELETE compsTickers
Qui vide la table
Écrire '*' dans la requête de suppression n'est pas une bonne pratique. Puisque nous ne supprimons pas de colonnes, nous supprimons en réalité des lignes de la table.
Le * fait référence à toutes les colonnes du tableau. Essayez d'utiliser la syntaxe suivante 'Supprimer de compsTickers' suivi de la condition where.
La syntaxe de la commande delete est incorrecte. Vous n'êtes pas obligé d'utiliser '*'
dans la commande delete. Utilisez la commande string sql = @"DELETE FROM compsTickers;"
pour votre travail.
Merci.
string sql = @"DELETE FROM compsTickers;";
Vous n'avez pas besoin d'utiliser *
ni de spécifier un nom de colonne dans l'instruction de suppression.
Je vais suggérer d'utiliser le