Problème de Requètes parametrés avec DAC
salut à tous,
je travaille actuellement sur une appli c# lié à une base SQLServer2000, cependant j'ai du codé l'accès aux données avec une DAC (merci à ce tuto au passage : http://ditch.developpez.com/dotnet/factories/).
Depuis, pour faire mes requètes parametrés, j'ai été obligé de faire cette méthode :
Code:
1 2 3 4 5 6 7 8 9
|
protected void AddParam(IDbCommand cmd, string nameParam, DbType typeParam, int sizeParam)
{
IDbDataParameter result = cmd.CreateParameter();
result.DbType = typeParam;
result.Size = sizeParam;
result.ParameterName = nameParam;
cmd.Parameters.Add(result);
} |
Mon problème, c'est que je ne comptais pas renseigner un paramètre "sizeParam", mais le compilateur m'y a contraint...
Ce qui fait que pour renseigner un paramètre de requète de type varchar(50), et que le type Varchar n'est pas reconnu par System.data.dbType, je me retrouver a utliser ma fonction de cette manière :
Code:
AddParam(cmdNonQuery, "@un_nom_de_param", DbType.String, ???);
Mon problème est simple : qu'elle est la valeur de sizeParam la mieux approprié (je doute que ce soit 50, varchar ne doit pas ètre la même chose que string)? et aurais-je des problèmes avec ma méthode si je change de SGBD?
merci à vous, n'hésitez pas à me reprendre si j'ai pas été assez clair :)
(sachant que par la suite je vous demanderais la même chose pour tout les types important: byte, float, double, int32, int64, char... ^^)