Estoy tratando de llenar un GridView utilizando un método llamado PopulateGrid() (continuación), pero seguir recibiendo el mismo error del servidor "debe declarar el escalar variable '@QUALID'.ASP.NET C# Debe declarar la variable escalar
public void PopulateGrid()
{
String val = TextBox2.Text;
String sql = "SELECT QLEVELNAME FROM Qual_Levels WHERE [email protected]";
SqlCommand cmd = new SqlCommand(sql,
new SqlConnection(ConfigurationManager.ConnectionStrings["RecruitmentDBConnString"].ConnectionString));
cmd.Parameters.Add(new SqlParameter("QUALID", val));
cmd.Connection.Open();
SqlDataAdapter da = new SqlDataAdapter(sql, cmd.Connection);
DataSet ds = new DataSet();
da.Fill(ds, "Qual_Levels");
SelectionGrid.DataSource = ds;
SelectionGrid.DataBind();
ds.Dispose();
da.Dispose();
cmd.Connection.Close();
cmd.Connection.Dispose();
}
el GridView se declara como tal ..
<asp:GridView ID="SelectionGrid"
autogeneratecolumns="False"
runat="server" CellPadding="4"
ForeColor="#333333" GridLines="None" DataKeyNames="QUALID">
<Columns>
<asp:BoundField DataField="QLEVELNAME" HeaderText="Level Name"
ReadOnly="True" SortExpression="name" />
</Columns>
</asp:GridView>
Después de probar un sinnúmero de cosas y la pesca de arrastre a través de los foros que siempre vuelven a aparecer contra el mismo error.
Server Error in '/' Application.
Must declare the scalar variable "@QUALID".
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 "@QUALID".
Source Error:
Line 282: DataSet ds = new DataSet();
Line 283: da.Fill(ds, "Qual_Levels");
¡Si alguien puede arrojar alguna luz sobre la situación, estaría muy agradecido!
Gracias por todas las respuestas, el consenso general parece ser yo' Me falta el @ en mi param sql pero lo he intentado y se está lanzando el mismo error. También tengo la misma sintaxis exacta que originalmente publicada para mis listas desplegables que funcionan bien. – PatrickJames