【问题标题】:Pass parameters from Asp.net to stored procedure in SQL Server and get data back from SQL Server with the parameters' input and view it in a gridView将参数从 Asp.net 传递到 SQL Server 中的存储过程,并使用参数的输入从 SQL Server 获取数据并在 gridView 中查看
【发布时间】:2018-11-24 11:56:53
【问题描述】:

我在 ASP.NET 中有四个 DropDownList。我想将从 DropDownLists 中选择的值作为四个参数发送到我在 SQL Server 中的存储过程,当我点击提交按钮时,我想将数据从 SQL Server 获取回 ASP.NET 并将其显示在 GridView 中。我已经尝试了一些代码。由于我对 ASP.NET 相当陌生,因此我不确定我的代码有什么问题:

protected void Button1_Click1(object sender, EventArgs e)
{
    string s = "prIMDBStatistics_Submit";

    SqlCommand cmd = new SqlCommand(s, con);

    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.Add("@IPAddress", SqlDbType.VarChar).Value = DropDownList5.SelectedItem.Value;
    cmd.Parameters.Add("@PortNumber", SqlDbType.VarChar).Value = DropDownList2.SelectedItem.Value;
    cmd.Parameters.Add("@Name", SqlDbType.VarChar).Value = DropDownList3.SelectedItem.Value;
    cmd.Parameters.Add("@CacheType", SqlDbType.VarChar).Value = DropDownList4.SelectedItem.Value;

    DataSet ds = new DataSet();

    con.Open();
    cmd.ExecuteNonQuery();

    GridView1.DataSource = ds;
    GridView1.DataBind();

    con.Close();
}

【问题讨论】:

    标签: asp.net sql-server


    【解决方案1】:

    SqlCommand.ExecuteNonQuery() 不会返回数据。如果要返回数据,则需要在 SqlCommand 对象上使用不同的方法,并将结果分配给数据集,然后再将其绑定到网格。

    最简单的方法是使用 DataAdapter。它有一个 Fill() 方法,可以一次填充数据集。然后就可以绑定数据集了。

    Direct method from SQL command text to DataSet

    【讨论】:

      【解决方案2】:

      您正在声明数据集

       DataSet ds = new DataSet();
      

      然后将其绑定到网格

      GridView1.DataSource = ds;
      

      您认为数据将从哪里来?

      您必须重新查询数据,然后绑定到网格。下面是一个例子。我在这里直接输入,所以请忽略语法错误。

      SqlCommand cmd = new Sqlcommand();
      cmd.connection = yourConnection;
      cmd.CommandText = "select * from table";
      SqlDataReader dr = cmd.ExecuteReader();
      GridView1.DataSource = dr;
      GridView1.DataBind();
      

      【讨论】:

        猜你喜欢
        • 2019-02-03
        • 1970-01-01
        • 2016-09-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多