I am using SqlDataSource to show records based on the logged in user ,
<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>
And in the Page Load I am adding the parameter as follows
protected void Page_Load(object sender, EventArgs e)
{
string user = HttpContext.Current.User.Identity.Name;
ModifyCustomerDataSource.SelectParameters.Clear();
ModifyCustomerDataSource.SelectParameters.Add("@LoggedInUser", user.Trim());
}
But it gives me error
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".
Can anybody point me out where I am going wrong. Thanks
You do not need the @
when adding the parameter eg:
ModifyCustomerDataSource.SelectParameters.Add("LoggedInUser", user.Trim());
The @
symbol in the query indicates that the following text is the name of a parameter, however the @
is not considered part of the parameter name.