日期:2014-05-17  浏览次数:20970 次

GridView数据显示问题
这是我后台绑定数据的代码:
 SqlConnection myConn = DBClass.GetConnection();
  myConn.Open();
  SqlCommand cmd = new SqlCommand("GetOrdersInfo", myConn);
  cmd.CommandType = CommandType.StoredProcedure;
  SqlParameter userIP = new SqlParameter("@会员编号", SqlDbType.VarChar, 10);
  userIP.Value = Convert.ToString(Request.UserHostAddress);
  cmd.Parameters.Add(userIP);
  cmd.ExecuteNonQuery();
  SqlDataAdapter da = new SqlDataAdapter(cmd);
  DataSet ds = new DataSet();
  da.Fill(ds);
  GridView1.DataSource = ds.Tables[0].DefaultView;
  GridView1.DataBind();
  cmd.Dispose();
  myConn.Close();
这个是我的储存过程:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go


ALTER proc [dbo].[GetOrdersInfo]
(
@会员编号 varchar(10)
)
as
  select 产品名称,产品价格,数量
  from 购物车表 O ,产品表 T
  where O.产品编号=T.产品编号 and 会员编号=@会员编号
运行时没有错误··但是GridView是空的(表头也没有)。

如果不用储存过程的代码:
  string name1 = Session["name"].ToString();
  SqlConnection con = new SqlConnection();
  con.ConnectionString = "Data Source=.;Initial Catalog=泡面数据库;Integrated Security=SSPI;";
  con.Open();
  string sql = string.Format("select * from view_3 where 会员编号 ='{0}'", name1);
  SqlCommand cmd = new SqlCommand(sql, con);
  SqlDataAdapter da = new SqlDataAdapter(cmd);
  DataSet ds = new DataSet();
  da.Fill(ds);
  GridView1.DataSource = ds.Tables[0].DefaultView;
  GridView1.DataBind();
  con.Close();
这段可以显示GridView1·但是删除时会提示无法修改视图··修改更新时会提示无法将类型为“System.Web.UI.LiteralControl”的对象强制转换为类型“System.Web.UI.WebControls.TextBox”。
好悲剧,求大大们救救我······

------解决方案--------------------
你前台绑定没问题吗?主键绑定没?各列的字段写对了没有等等,细节的地方好好检查一下吧。
------解决方案--------------------
看不出来,现在都不用服务器控件了
建议大家都不用,写html和js多好,一切都由自己掌控绝不会出问题,服务器控件谁知道它干了些啥