Existe-t-il une raison prouvable pour laquelle je devrais toujours spécifier le type de données SQL pour les paramètres SqlCommand?Ai-je besoin de spécifier un type de données SQL lors de l'utilisation d'un SqlCommand?
Répondre
La seule fois où j'ai été confronté à un cas où je devais spécifier un type de données était lors du passage dans DBNull. Lorsque je ne spécifiais pas un type de données, il était par défaut défini sur un Varchar et finissait par se bloquer car j'essayais de définir une valeur entière sur Null.
et vous constaterez que parfois vous obtiendrez des erreurs étranges lorsque vous ne l'avez pas spécifié le type sql et la taille
il est plus sûr - et plus autodocumenté - toujours déclarer le type sql correct et taille
commande.AddWithValue ("@ Id", "1"); // Id est un int
commande.AddWithValue ("@ Id", '1'); // Id est un int
Est-ce que vous savez qu'il y a une différence entre "" et "" lorsque nous utilisons SqlCommand? J'ai google depuis longtemps mais je n'ai rien vu de ce problème.
Pouvez-vous me donner un exemple? –
@Grauenwolf: il y avait une erreur «wierd SQL error» SO ~ il y a une semaine causée en ne spécifiant pas la longueur d'un varchar, mais j'ai cherché et ne pouvait pas le trouver. Donc non, je ne peux pas vous donner un exemple précis mais je peux vous assurer que cela arrive. Laissez-moi vous demander: pourquoi croyez-vous/supposez-vous sans spécifier? –