Doit déclarer une erreur de variable scalaire

J'essaye d'afficher les résultats choisis de SQL du code-derrière et cependant cette erreur s'est produite:

Doit déclarer la variable scalaire "@poNum".

Ligne 75: sdsUsers.SelectParameters.Add ("@ poNum", poNum.Text.Trim ());
Ligne 76:
Ligne 77: DataView dvMember = (DataView) sdsUsers.Select (DataSourceSelectArguments.Empty); // ici l'erreur
Ligne 78: DataTable tblMember = dvMember.Table;

Code:

ssortingng connectionSsortingng2 = ConfigurationManager.ConnectionSsortingngs["WholesaleConnectionSsortingng"].ConnectionSsortingng; ssortingng selectSql = "SELECT invoiceNum, poNum FROM SendInvoice where poNum = @poNum"; SqlDataSource sdsUsers = new SqlDataSource(connectionSsortingng2, selectSql); sdsUsers.SelectParameters.Clear(); sdsUsers.SelectParameters.Add("@poNum", poNum.Text.Trim()); DataView dvMember = (DataView)sdsUsers.Select(DataSourceSelectArguments.Empty); //error occured here DataTable tblMember = dvMember.Table; for(int i=0;i<tblMember.Rows.Count;i++) { if (i==0){ Label aaa = new Label(); aaa.Text = tblMember.Rows[i].ItemArray[0].ToSsortingng(); } } 

Je suis coincé avec ces problèmes pendant des jours et je ne pouvais pas find une solution

J'essayerais de supprimer le @ du nom de paramètre (laissez-le dans votre SQL si):

 sdsUsers.SelectParameters.Add("poNum", poNum.Text.Trim()); 

ou (en supposant que poNum est un int):

 sdsUsers.SelectParameters.Add(new Parameter("poNum", System.TypeCode.Int32, poNum)); 

Bonne chance.