Scénario Avoir une table avec l'une des colonnes varchar (20). La colonne contient principalement des valeurs entières mais nous n'avons pas restreint l'utilisateur. 90% des utilisateurs saisissent 50, mais 5% des utilisateurs saisissent 50 unités. défini une dans la requête de code comme suitensemble de données faiblement typé en supposant des types de données
qry = select coalesc(CONVERT(Varchar(20),column1),'') from table1
ont obtenu du code C# pour remplir ensemble de données comme suit
DataSet ds = loader.LoadDataSet(qry);
Maintenant, ce qui se passe est que le temps d'exécution .net obtient la première ligne et parce qu'il est un entier (dans la plupart des cas), il affecte à la colonne un type de données int et dans des scénarios tels que '50 unités ', il retourne vide car column1 est int (vue d'exécution in.net) et échoue à CONVERT (varchar (20), column1) et renvoie la colonne vide (''). Une alternative est d'utiliser un jeu de données fortement typé et de le faire, mais j'aimerais connaître d'autres alternatives pour le faire avant d'aller sur ce chemin.