1

コード ビハインドから sql select の結果を表示しようとしていますが、次のエラーが発生しました。

スカラー変数「@poNum」を宣言する必要があります。

行 75: sdsUsers.SelectParameters.Add("@poNum", poNum.Text.Trim());
76 行目:
77 行目: DataView dvMember = (DataView)sdsUsers.Select(DataSourceSelectArguments.Empty); //ここでエラー
Line 78: DataTable tblMember = dvMember.Table;

コード:

string connectionString2 = ConfigurationManager.ConnectionStrings["WholesaleConnectionString"].ConnectionString;
string selectSql = "SELECT invoiceNum, poNum FROM SendInvoice where poNum = @poNum";

SqlDataSource sdsUsers = new SqlDataSource(connectionString2, 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].ToString();
            } 
        } 

私は何日もこの問題に悩まされており、解決策を見つけることができませんでした

4

2 に答える 2

2

パラメータ名から@を削除してみます(ただし、SQLには残しておきます)。

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

または(poNumがintであると仮定):

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

幸運を。

于 2013-01-20T16:28:23.737 に答える