读书人

怎样用gridview显示存储过程的查询结果

发布时间: 2012-03-19 22:03:05 作者: rapoo

怎样用gridview显示存储过程的查询结果
我是这样写的,可是不显示查询结果,大家帮我看看

sing System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Web.Configuration;

public partial class Default3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection();
ConnectionStringSettings connsetting = ConfigurationManager.ConnectionStrings["ConnectionString2"];
conn.ConnectionString = connsetting.ConnectionString;
SqlCommand cmd = new SqlCommand("sp_EmployInfo",conn);
cmd.CommandType = CommandType.StoredProcedure;
conn.Open();
cmd.Parameters.Add(new SqlParameter("@TitleOfCourtesy", SqlDbType.NVarChar, 25,"this.TextBox1.Text"));
cmd.Parameters.Add(new SqlParameter("@Country", SqlDbType.NVarChar, 15, "this.DropDownList1.DataTextField"));
cmd.Parameters["@TitleOfCourtesy"].Value = this.TextBox1.Text;
cmd.Parameters["@Country"].Value = this.DropDownList1.DataTextField;
GridView1.DataSource = cmd.ExecuteReader();
GridView1.DataBind();

conn.Close();

}
}
存储过程
ALTER PROCEDURE sp_EmployInfo
@TitleOfCourtesy nvarchar(25),
@Country nvarchar(15)
AS
select *from Employees where TitleOfCourtesy=@TitleOfCourtesy and Country=@Country


[解决办法]
cmd.Parameters["@Country"].Value = this.DropDownList1.DataTextField;
改成
cmd.Parameters["@Country"].Value = this.DropDownList1.SelectedItem.text;

然后断点跟踪一下

this.DropDownList1.DataTextField 获取的是一个绑定字段 而不是值
[解决办法]

C# code
        SqlConnection conn = new SqlConnection();        ConnectionStringSettings connsetting = ConfigurationManager.ConnectionStrings["ConnectionString2"];        conn.ConnectionString = connsetting.ConnectionString;        SqlCommand cmd = new SqlCommand("sp_EmployInfo", conn);        cmd.CommandType = CommandType.StoredProcedure;        cmd.Parameters.AddWithValue("@TitleOfCourtesy", this.TextBox1.Text);        cmd.Parameters.Add("@Country", this.DropDownList1.SelectedItem.Text);        conn.Open();        GridView1.DataSource = cmd.ExecuteReader();        GridView1.DataBind();        conn.Close(); 

读书人网 >asp.net

热点推荐