在TEXTBOX中显示数据问题!首先把原文件给大家看一下:
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
SqlConnection con=carlhb.createConnection();
con.Open();
SqlCommand cmd=new SqlCommand("select * from china",con);
SqlDataReader sdr=cmd.ExecuteReader();
this.car_dq1.DataSource=sdr;
this.car_dq1.DataTextField="china_name";
this.car_dq1.DataValueField="china_id";
this.car_dq1.DataBind();
this.car_dq1.Items.Insert(0,new ListItem("——请选择省——","-1"));
sdr.Close();
this.car_dq2.Items.Insert(0,new ListItem("——请选择市——","-1"));上面是绑定的一个DropDownList
------------------------------
下面是显示数据:SqlDataAdapter sdz = new SqlDataAdapter("UP_carlhbvw_GetList",con);
DataTable dt = new DataTable();
sdz.Fill(dt);
if(dt.Rows.Count == 0) return;
this.car_1.Text=dt.Rows[0]["car_name"].ToString();
this.car_2.Text=dt.Rows[0]["car_address"].ToString();
this.car_3.Text=dt.Rows[0]["car_tel"].ToString();
this.car_4.Text=dt.Rows[0]["car_mobile"].ToString();
this.car_5.Text=dt.Rows[0]["car_email"].ToString();
this.car_6.Text=dt.Rows[0]["car_msnqq"].ToString();
this.car_7.Text=dt.Rows[0]["car_description"].ToString();con.Close();

但是现在出现问题!显示数据是显示出来了但是显示的都是数据库中第一行的数据!
我是用DataGrid绑定的超级连接列然后进入详细页面在TEXTBOX中显示数据!
DataGrid绑定的超级连接列URL字段是绑定数据库的主键car_id
URL格式字符串我页站位了Detailed.aspx?car_id={0}
Detailed.aspx是详细显示页面!
我是像让他按照传入的car_id来相对应的显示相对应的数据!
我应该如何传入car_id呢?让它相对应的显示????
——————
UP_carlhbvw_GetList 是存储过程名称
——————
存储过程内容 :
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[UP_carlhbvw_GetList]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[UP_carlhbvw_GetList]
GO
CREATE PROCEDURE UP_carlhbvw_GetList
AS 
SELECT 
[car_id],[car_name],[car_tgb],[car_service],[car_sex],[car_address],[car_areaa],[car_areab],[car_tel],[car_mobile],[car_email],[car_msnqq],[car_income],[car_description]
FROM carlhbvw
GO

解决方案 »

  1.   

    你要先修改存储过程,加入参数.
    如:CREATE PROCEDURE UP_carlhbvw_GetList @car_id int
    AS 
    SELECT 
    [car_id],[car_name],[car_tgb],[car_service],[car_sex],[car_address],[car_areaa],[car_areab],[car_tel],[car_mobile],[car_email],[car_msnqq],[car_income],[car_description]
    FROM carlhbvw where car_id = @car_id 
    GO
      

  2.   

    string card_id = Request.QueryString["car_id"]; SqlDataAdapter sdz = new SqlDataAdapter("UP_carlhbvw_GetList "+car_id, conn);
      

  3.   

    你把你的参数car_id作为显示数据的查询条件。
      

  4.   

    这样改??
    ALTER PROCEDURE UP_carlhbvw_GetList @car_id int
    AS 
    SELECT 
    [car_id],[car_name],[car_tgb],[car_service],[car_sex],[car_address],[car_areaa],[car_areab],[car_tel],[car_mobile],[car_email],[car_msnqq],[car_income],[car_description]
    FROM carlhbvw where car_id = @car_id
      

  5.   

    string car_id = Request.QueryString["car_id"];
    SqlDataAdapter sdz = new SqlDataAdapter("UP_carlhbvw_GetList" + car_id,con);
    DataTable dt = new DataTable();
    sdz.Fill(dt);
    if(dt.Rows.Count == 0) return;
    this.car_1.Text=dt.Rows[0]["car_name"].ToString();
    this.car_2.Text=dt.Rows[0]["car_address"].ToString();
    this.car_3.Text=dt.Rows[0]["car_tel"].ToString();
    this.car_4.Text=dt.Rows[0]["car_mobile"].ToString();
    this.car_5.Text=dt.Rows[0]["car_email"].ToString();
    this.car_6.Text=dt.Rows[0]["car_msnqq"].ToString();
    this.car_7.Text=dt.Rows[0]["car_description"].ToString();
      

  6.   

    ("UP_carlhbvw_GetList" + car_id==>
    ("UP_carlhbvw_GetList  " + car_id
    存储过程后面应该有个空格.
      

  7.   

    未能找到存储过程 'UP_carlhbvw_GetList28'。行 133: sdz.Fill(dt);
    着是怎么了????我点的是第28条数据!!
      

  8.   

    未能找到存储过程 'UP_carlhbvw_GetList28'。
    说明你数据库里不存在这个存储过程阿