这里的错误是什么原因
DataRow dr = ds.Tables["TransInfo"].NewRow();//这里出错误

解决方案 »

  1.   

    断点看看 ds.Tables["TransInfo"] 这个表是否为空
      

  2.   

    DataRow dr = ds.Tables["TransInfo"].NewRow();//这里不是NEW 一个“行”吗?
    你说的断点设在哪里啊
     DataSet ds = new DataSet();
     DataTable TransInfo = new DataTable("TransInfo");
     protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    GetSchool();
                    TransInfo.Columns.Add(new DataColumn("Number", typeof(string)));
                    TransInfo.Columns.Add(new DataColumn("省份", typeof(string)));
                    TransInfo.Columns.Add(new DataColumn("学校", typeof(string)));
                    TransInfo.Columns.Add(new DataColumn("班级", typeof(string)));
                    ds.Tables.Add(TransInfo);
                }
            }
         protected void GetSchool()
            { BindSchool(School);}
      public void BindSchool(string School)
            {
                foreach (var a in GF)
                {
                    for (int i = 0; i < GF.Count;i++ )
                    {
                        DataRow dr = ds.Tables["TransInfo"].NewRow();
                        dr["Number"] = i.ToString();
                        dr["省份"] = a.Gprovince;
                        dr["学校"] = a.Gschool;
                        dr["班级"] = a.GroupName;
                        ds.Tables["TransInfo"].Rows.Add(dr);
                    }}
    这里是代码,您帮我看下怎么弄才行,谢谢
      

  3.   

    第一,检查这个表是否存在,
    第二,检查这个列是否存在,
    第三,在.newrow()这行这里打断点进去查看,
      

  4.   

    TransInfo表名我不知道表名是从哪里来的,不是new的?
      

  5.   

    Dataset  可以包含多个表   你的那个ds 已存在,当然你可以新建DataTable
    然后加到DataSet 中,然后可以访问
    当然如果DataSet  新建时就有了TransInfo这个表,
    那就不用了
    可以尝试下ds.Table[0],前提是你的Dataset  只有一个表
      

  6.   

    TransInfo传进来或者new出来了没呢?
      

  7.   

    Quote: 引用 13 楼 CSMSDN 的回复:

    引用 11 楼 xiaomou_mou 的回复:
    引用 10 楼 CSMSDN 的回复:TransInfo这个表格不存在
    这个表格是什么来的这个得问你啊,如果你是复制别人的代码,那肯定,出错了,人家的代码上面肯还有一句声明那个表格的[/quot]
    声明的样式,能给我个例子看看吗
      

  8.   

    我知道,我想知道声明TransInfo表格式是怎么样的
      

  9.   


    if (!IsPostBack)
    {
       //换下调用位置,先保证表列存在再新加行,ok?
       TransInfo.Columns.Add(new DataColumn("Number", typeof(string)));
       TransInfo.Columns.Add(new DataColumn("省份", typeof(string)));
       TransInfo.Columns.Add(new DataColumn("学校", typeof(string)));
       TransInfo.Columns.Add(new DataColumn("班级", typeof(string)));
       ds.Tables.Add(TransInfo);
       GetSchool();
    }
      

  10.   


                    foreach (var a in GF) {
                        for (int i = 0; i < GF.Count; i++) {
                            TransInfo.Rows.Add(new object[] { i.ToString(), a.Gprovince, a.Gschool, a.GroupName });
                        }
                    }table已经new出来了、也给了列了、
    就直接加行
    改成这样赋值看看