próbuję wypełnić GridView przy użyciu metody zwanej PopulateGrid() (poniżej), ale wciąż otrzymuję ten sam błąd serwera „Musi zadeklarować zmienną skalarną«@QUALID».ASP.NET C# musi zadeklarować zmienną skalarną
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();
}
GridView jest zadeklarowana jak tak ..
<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>
Po wypróbowaniu niezliczone rzeczy i trałowania poprzez fora ja tam się wobec tego samego błędu.
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");
Jeśli ktokolwiek może rzucić jakiekolwiek światło na tę sytuację, byłbym naprawdę wdzięczny!
Dzięki za wszystkie odpowiedzi, ogólny konsensus wydaje się być ja” m brakuje @ w moim parametrze sql, ale próbowałem i ten sam błąd jest zgłaszany. Mam również dokładnie taką samą składnię jak pierwotnie opublikowana dla moich list rozwijanych, które działają poprawnie. – PatrickJames