将参数从ASP.NET传递到SQL Server中的存储过程,并使用参数输入从SQL Server获取数据并在gridvew上查看 [英] 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 on a gridvew

查看:152
本文介绍了将参数从ASP.NET传递到SQL Server中的存储过程,并使用参数输入从SQL Server获取数据并在gridvew上查看的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Asp.Net中有四个DropDownList。所以我想将从DropDownLists中选择的值作为四个参数发送到我在Sql server中的存储过程,当我点击Submit按钮时,我希望将数据从Sql Server返回到Asp.Net并将其发布到GridView上。我尝试了一些代码。由于我在Asp.Net上相当新,所以我不确定下面的代码有什么问题。



我尝试了什么:



I have four DropDownList in Asp.Net. So I want to send values selected from the DropDownLists as four parameters to my stored procedure in Sql server and when I hit the Submit button, I want to get the data back from Sql Server to Asp.Net and publish it on a GridView. I have tried some codes. Since I am fairly new in Asp.Net, so I am not sure what is wrong with my code below.

What I have tried:

protected void Button1_Click1(object sender, EventArgs e)
{
    string s = "Submit";
    SqlCommand cmd = new SqlCommand(s, con);
    DataSet ds = new DataSet();
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.Add("@Address", SqlDbType.VarChar).Value = DropDownList5.SelectedItem.Value;
    cmd.Parameters.Add("@Number", SqlDbType.VarChar).Value = DropDownList2.SelectedItem.Value;
    cmd.Parameters.Add("@Name", SqlDbType.VarChar).Value = DropDownList3.SelectedItem.Value;
    cmd.Parameters.Add("@Type", SqlDbType.VarChar).Value = DropDownList4.SelectedItem.Value;
    con.Open();
    cmd.ExecuteNonQuery();
    GridView1.DataSource = ds;
    GridView1.DataBind();
    con.Close();
}

推荐答案

通过下面替换你的cmd.ExecuteNonQuery(),它应该可以工作。 ExecuteNonQuery将执行查询,但没有数据返回,而是返回没有受影响的记录,应该仅用于插入/删除/更新语句。



Replace your cmd.ExecuteNonQuery() by below and it should work. ExecuteNonQuery will execute the query but no data return instead it will return no of record affected and should be used to insert/delete/update statements only.

//cmd.ExecuteNonQuery(); 
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);

GridView1.DataSource = ds.Table[0];
GridView1.DataBind();


这篇关于将参数从ASP.NET传递到SQL Server中的存储过程,并使用参数输入从SQL Server获取数据并在gridvew上查看的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆