Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么我的编辑功能显示所有列条目?_C#_Sql_Sql Server 2008 - Fatal编程技术网

C# 为什么我的编辑功能显示所有列条目?

C# 为什么我的编辑功能显示所有列条目?,c#,sql,sql-server-2008,C#,Sql,Sql Server 2008,我有一个webapp,它调用SQL查询,查询受项目影响的应用程序列表。我希望我的管理员能够单击编辑并将删除应用程序添加到此列表中。当前,当他们单击“编辑”时,他们会在列表框中看到受任何项目影响的每个应用程序,即使在Gridview中,他们只看到受该特定项目影响的应用程序。当我硬编码项目的值时,它是有效的,但我需要它是一个变量,这取决于我的管理员单击要编辑的项目 select Applications.ApplicationName, Projects.ProjectName

我有一个webapp,它调用SQL查询,查询受项目影响的应用程序列表。我希望我的管理员能够单击编辑并将删除应用程序添加到此列表中。当前,当他们单击“编辑”时,他们会在列表框中看到受任何项目影响的每个应用程序,即使在Gridview中,他们只看到受该特定项目影响的应用程序。当我硬编码项目的值时,它是有效的,但我需要它是一个变量,这取决于我的管理员单击要编辑的项目

select 
    Applications.ApplicationName, 
    Projects.ProjectName 
from ImpactedApplications 
inner join  Applications 
    on ImpactedApplications.AppId=Applications.AppId
inner join Projects 
    on ImpactedApplications.ProjectId=Projects.ProjectId
Where Projects.ProjectId=57 <--This is Hardcoded.  I need this to be dynamic.
创建参数化查询:

然后,当您创建
SqlCommand
时,添加一个参数并从表单中为其赋值:

cmd.Parameters.AddWithValue("@projectId",projectId);

好吧,我想我明白你的建议了。两个问题。对于参数,我假设您是指我表单的列名?第二,在哪里添加cmd.Parameters.AddWithValue(“@projectId”,projectId);它不必是相同的名称-并且在创建
SqlCommand
后添加参数。如果你发布你用来执行查询的代码,我可以说得更具体一些。嗨,我在那里把代码添加到了原来的帖子中。非常感谢你。
public partial class Update : System.Web.UI.Page
{
    public string query { get; set; }
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["LandscapeServicesConnectionString"].ConnectionString);
    DataSet dt = new DataSet();
    protected void Page_Load(object sender, EventArgs e)
    {
        con.Open();

    }


    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;

    }

}
select 
    Applications.ApplicationName, 
    Projects.ProjectName 
from ImpactedApplications 
inner join  Applications 
    on ImpactedApplications.AppId=Applications.AppId
inner join Projects 
    on ImpactedApplications.ProjectId=Projects.ProjectId
where Projects.ProjectId=@projectId
cmd.Parameters.AddWithValue("@projectId",projectId);