Différence entre les Paramètres.Ajouter(string, object) et de Paramètres.AddWithValue

J'ai lu la documentation MSDN et des exemples ici et je sais que la syntaxe correcte pour un Paramters.Add appel :

   command.Parameters.Add("@ID", SqlDbType.Int);
   command.Parameters["@ID"].Value = customerID; 

Où vous devez spécifier le Nom du Paramètre, la SqlDbType ET de la Valeur avec .Value.

Maintenant la syntaxe correcte pour une Parameters.AddWithValue appel :

   command.Parameters.AddWithValue("@demographics", demoXml);

Seule ligne et passez la Type partie.

Ma Question est : Comment est-il que quand je le fais comme ça,

   command.Parameters.Add("@demographics", demoXml);
   //.Add method with .AddWithValue syntax

Je n'ai aucune erreur de compilation et encore plus étrange, tout semble fonctionner correctement lorsque le code est exécuté ?

InformationsquelleAutor phadaphunk | 2012-04-03