2010-12-13 53 views
0
public static void deletePersonInfo(int number) 
    { 
     SqlCeConnection sqlConn = null; 
     SqlCeCommand cmdDelete; 

     try 
     { 
      sqlConn = new SqlCeConnection(databaseString); 
      sqlConn.Open(); 

      cmdDelete = new SqlCeCommand("DELETE FROM PersonInfo WHERE Number = @numb", sqlConn); 
      cmdDelete.Parameters.Add(new SqlCeParameter("@numb", SqlDbType.Int)).Value = number; 
      cmdDelete.ExecuteNonQuery(); 

     } 
     catch (Exception e) 
     { 
      MessageBox.Show(e.ToString()); 
     } 
     finally 
     { 
      if (sqlConn != null) 
      { 
       sqlConn.Close(); 
      } 
     } 

    } 

C'est mon code pour supprimer un membre. Cela fonctionne bien sans aucune erreur. J'ai également vérifié si la valeur correcte est passée. et oui c'est. La méthode reçoit le numéro de membre correct, ne donne aucune erreur, s'exécute avec succès, mais n'apporte aucun changement dans la base de données. Quelqu'un peut-il me dire ce qui ne va pas avec ce code?Problème lors de la suppression de données dans le formulaire Windows

+0

Comment puis-je faire qu'Adrian. Si vous pouvez m'envoyer des liens utiles, ce serait vraiment apprécié – reggie

+0

Parlez-vous de moi? Je m'appelle Michael :-). Si vous utilisez SQL Server, exécutez SQL Profiler, qui doit être inclus dans votre installation de SQL Server. Je pense que c'est dans le menu Outils dans Workbench. Si vous exécutez quelque chose de spécifique à SQL CE, alors je ne peux pas aider, aucune expérience là-bas. –

Répondre

0

Votre chaîne de connexion met-elle en œuvre la sécurité? Essayez de regarder le journal des événements ou dans les autorisations de la table. Il peut établir une connexion réussie à la base de données mais ne pas avoir les autorisations appropriées pour effectuer la modification. Si vous êtes administrateur ou administrateur de domaine, vous devez avoir accès par défaut. Vous devrez peut-être également vérifier que le groupe d'administration de domaine a été ajouté à la zone de serveur SQL.

+0

Je suis un débutant à cela. Comment puis-je vérifier le journal pour voir les autorisations pour la table. Ceci est un projet personnel et est sur mon système personnel lui-même. – reggie

1

Vérifiez la valeur de retour de "cmdDelete.ExecuteNonQuery();" si elle renvoie une valeur non nulle ou non. si la valeur est différente de zéro, seule la base de données sera modifiée.