4

ログインしたユーザーに基づいてレコードを表示するためにSqlDataSourceを使用しています。

<asp:SqlDataSource ID="ModifyCustomerDataSource" SelectCommand="SELECT cApplicationNo,cFirstName,cMiddleName,cLastName,nTelNo,nMobileNo,cPanGirNo from Data_Customer_Log where cAddedBy=@LoggedInUser" ConnectionString="<%$ ConnectionStrings:CwizDataConnectionString %>"   runat="server"></asp:SqlDataSource>

そして、ページの読み込みで、次のようにパラメータを追加しています

protected void Page_Load(object sender, EventArgs e)
        {
            string user = HttpContext.Current.User.Identity.Name;
            ModifyCustomerDataSource.SelectParameters.Clear();
            ModifyCustomerDataSource.SelectParameters.Add("@LoggedInUser", user.Trim());
        }

しかし、それは私にエラーを与えます

Must declare the scalar variable "@LoggedInUser".
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Data.SqlClient.SqlException: Must declare the scalar variable "@LoggedInUser".

誰かが私がどこで間違っているのか指摘できますか?ありがとう

4

2 に答える 2

10

@パラメータを追加するときは必要ありません。例:

ModifyCustomerDataSource.SelectParameters.Add("LoggedInUser", user.Trim());

クエリ内の@記号は、次のテキストがパラメータの名前であることを示していますが、@はパラメータ名の一部とは見なされません。

于 2012-05-17T09:37:19.467 に答える
1
<asp:SqlDataSource ID="ModifyCustomerDataSource" SelectCommand="SELECT cApplicationNo,cFirstName,cMiddleName,cLastName,nTelNo,nMobileNo,cPanGirNo from Data_Customer_Log where cAddedBy=@LoggedInUser" ConnectionString="<%$ ConnectionStrings:CwizDataConnectionString %>"   runat="server">

        <SelectParameters>

            <asp:Parameter Name="LoggedInUser" />

        </SelectParameters>

</asp:SqlDataSource>

上記のサンプルとして、SqldatasourceでSelectParameterが定義されていることを確認します。

パラメータの値は、次の2つの方法で設定できます。

ModifyCustomerDataSource.SelectParameters["LoggedInUser"].DefaultValue = "some value";

or

ModifyCustomerDataSource.SelectParameters.Add("@LoggedInUser", user.Trim()); //@is must here with the parameter name
于 2012-05-17T09:36:30.500 に答える