C# / Sybase 12.x Exectution d'une proc stock select avec 1 paramètre en entrée pour remplir un dataset
Salut,
J'utilise Microsoft.Practice.EntrepriseLibrary pour accéder à une base de données Sybase 12.x en C#
J'ai écris le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
Instrument toReturn = null;
DataSet ds;
string spName = "ps_GetInstrument";
Database db = DatabaseFactory.CreateDatabase("ESpread");
using (DbCommand dbCommand = db.GetStoredProcCommand(spName))
{
dbCommand.CommandType = CommandType.StoredProcedure;
db.AddInParameter(dbCommand, "@isin", DbType.String, isin);
ds = db.ExecuteDataSet(dbCommand);
}
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
toReturn.Isin.Id = ds.Tables[0].Rows[0].Field<string>(new DataColumn("isin"));
}
return toReturn; |
au moment de l'execution de ds = db.ExecuteDataSet(dbCommand);
Le système me dit que je n'ai pas fourni le paramètre @isin alors que je l'ai fait à la ligne précédente et que lorsque je regarde l'objet dbCommand, sa collection parameters contient bien mon isin.
Pourriez-vous m'aider, je ne comprends pas ce qui m'arrive, là :oops:...
N
J'ai trouvé un truc qui fonctionne mais je ne sais pas si c'est la meilleure solution...
J'ai trouvé ça et ça fonctionne.
Code:
1 2
|
using (DbCommand dbCommand = db.GetStoredProcCommand("exec " + spName + " {?}")){...} |
D'après vous, c'est bien ou pas ?
Merci