protected void Page_Load(object sender, EventArgs e)
    {
        using (SqlConnection conn = new SqlConnection(连接串))
        {
            conn.Open();
            string str = "select * from quser";
            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter(str,conn);
            da.Fill(ds,"ss");
            GridView1.DataSource = ds.Tables["ss"];
        }
    }我只用了一个GridView控件,连接串没有问题,但是运行起来什么都没有,这是后台的代码,请求指点。

解决方案 »

  1.   

     AutoGenerateColumn 是否设置为 false ? 如果是的话就要手动生成列
      

  2.   

    da.Fill(ds,"ss");
                GridView1.DataSource = ds.Tables["ss"];改成
    da.fill(ds);
    GridView1.DataSource = ds.Tables[0];
      

  3.   

        protected void Page_Load(object sender, EventArgs e)
        {
          if(!IsPostback)
          {
            using (SqlConnection conn = new SqlConnection(连接串))
            {
                conn.Open();
                string str = "select * from quser";
                DataSet ds = new DataSet();
                SqlDataAdapter da = new SqlDataAdapter(str,conn);
                da.Fill(ds,"ss");
                GridView1.DataSource = ds.Tables["ss"];
                GridView1.DataBind();
            }
          }
        }
      

  4.   

    GridView1.DataBind();
      

  5.   

    如果你不想写和维护这么多代码,那么就看看如何声明适用SqlDataSource、ObjectDataSource控件的技术。在asp.net2.0中,应该使用数据源控件,做到界面、控制、数据相分离。而这种直接为绑定控件的DataSource属性赋值的做法,是asp.net1.1的。要注意的是,在回发时不需要重新查询数据库和绑定控件。那样做不到花费了巨大的时间代价,而且当数据库中的数据有改变时实际上还是经常会出bug的。在回发时,Page_load中的功能目的是要恢复上一次页面输出html时完全一样的控件树(既GridView1里边的子控件的状态),而不是去根据数据库的最新记录内容来重建GRidView1。
      

  6.   

    da.Fill(ds,"ss");
    GridView1.DataSource = ds.Tables["ss"];
    改成
    da.Fill(ds);
    this.GridView1.DataSource = ds;
    this.GridView1.DataBind();
      

  7.   

    呼呼..上少了  GridView1.DataBind();