while (datareader.Read())
        {
            
            for (int j = 0; j < datareader.FieldCount; j++)
            {
                row = new TableRow();
                lable.Text = datareader[j].ToString();
                cell = new TableCell();
                cell.Controls.Add(lable);
                row.Controls.Add(celldisp);
                table.Controls.Add(rowdisp);
            }
        }
我要把SqlDataReader读出的值放到一个Table中,我的代码是这样,但显示不出来数据,帮忙看看,谢谢了

解决方案 »

  1.   

    动态添加到Table中,不知道多少行多少列,字段名,所以用的索引
      

  2.   

    有个while循环,为什么还要用for 呢,多此一举何必?
      

  3.   

    int i=0;while (datareader.Read())
            {       
                    Table tblont = new Table();
                    tblont.Text = datareader[j].ToString();                
                    i++;
                }
            }
      

  4.   

    int i=0;while (datareader.Read())
            {    
                    i++;
                    Table tblont = new Table();
                    tblont.Text = datareader[j].ToString();                
                                }
            }
      

  5.   

    jkan5522() 字段数量和名字都是未知的,datareader[index],这个index怎么办 ?
      

  6.   

    while (datareader.Read())
            {
                
                row = new TableRow();
                for (int j = 0; j < datareader.FieldCount; j++)
                {
                    Label lbl=new Label();
                    lbl.Text = datareader[j].ToString();
                    cell = new TableCell();  
                    //也可以直接写 cell.Text=datareader[j].ToString();
                    cell.Controls.Add(lbl);
                    row.Controls.Add(cell);
                }
                table.Controls.Add(rowdisp);
            }
      

  7.   

    写错了属性,更正:
    while (datareader.Read())
            {
                
                row = new TableRow();
                for (int j = 0; j < datareader.FieldCount; j++)
                {
                    Label lbl=new Label();
                    lbl.Text = datareader[j].ToString();
                    cell = new TableCell();  
                    //也可以直接写 cell.Text=datareader[j].ToString();
                    cell.Controls.Add(lbl);
                    row.Cells.Add(cell);
                }
                table.Rows.Add(row);
            }
      

  8.   

    row.Controls.Add(celldisp);这个错了,应该写成row.cells.add(celldisp)
    多谢 sp1234(全面扫描了一下机器,发现20只木马程序)