gpt4 book ai didi

c# - ASP.NET C# 必须声明标量变量

转载 作者:太空狗 更新时间:2023-10-29 19:26:28 26 4
gpt4 key购买 nike

我正在尝试使用称为 PopulateGrid() 的方法(如下)填充 GridView,但不断收到相同的服务器错误“必须声明标量变量“@QUALID”。

public void PopulateGrid()
{
String val = TextBox2.Text;

String sql = "SELECT QLEVELNAME FROM Qual_Levels WHERE QUALID=@QUALID";
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 是这样声明的..

<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>

在尝试了无数事情并浏览了论坛之后,我不断遇到同样的错误。

Server Error in '/' Application.

Must declare the scalar variable "@QUALID".

Description: An unhandled exception occurred during the execution ofthe current web request. Please review the stack trace for moreinformation about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: Must declarethe scalar variable "@QUALID".

Source Error:

Line 282: DataSet ds = new DataSet();

Line 283: da.Fill(ds, "Qual_Levels");

如果有人能说明情况,我将不胜感激!

最佳答案

这个:

cmd.Parameters.Add(new SqlParameter("QUALID", val));

应该是这样的:

cmd.Parameters.Add(new SqlParameter("@QUALID", val));

抱歉,输入太快,试试:

cmd.Parameters.AddWithValue("@QUALID", val);

好的,您的代码中有一个更基本的问题。您创建一个命令对象,然后将 SQL 字符串和命令的连接传递到您的数据适配器,它将在其中执行您的 sql 字符串,其连接上没有任何参数。

我没有过多使用数据适配器,但我认为您需要在适配器的 select 命令上设置参数。

关于c# - ASP.NET C# 必须声明标量变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9584217/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com