您的位置:首页 > 编程语言 > ASP

ASP.NET错误:输入数组长度大于此表中的列数

2013-04-22 16:57 435 查看
ASP.NET错误:输入数组长度大于此表中的列数。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.ArgumentException: 输入数组长度大于此表中的列数。

ASP.NET错误:输入数组长度大于此表中的列数。收藏

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.ArgumentException: 输入数组长度大于此表中的列数。

错误代码如下:

DataTable dt = IOfferPubMst.GetInfoPubAllSAD(Ticket.CompanyID, txtTitle.Text);

dt.Columns.Add("successCnt", typeof(int));

dt.Columns.Add("realCnt", typeof(int));

dt.Columns.Add("plantCnt", typeof(int));

DataTable newdt = new DataTable();

DataRow[] newdr=dt.Select("realCnt>=plantCnt and successCnt<plantCnt");

foreach (DataRow row in newdr)

{

newdt.Rows.Add(row.ItemArray);

}

,原因在于DataTable newdt = new DataTable();此时newTable已经生成,但是此时并未给此表添加列,因此newTable表里的列数为0,在你dt.Rows.Add(rows);时就会异常。

解决的方法是:在DataTable newTable = new DataTable();之后使用newTable.Columns.add("列名");给newTable表对象加上列.然后再添加行。

或者   DataTable newdt = dt.Clone();

newdt.Clear();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐