日期:2014-05-18  浏览次数:20367 次

给datarow赋值出错
dr = myDesktop.GetMyMail(UserName,1);
dt =Tools.ConvertDataReaderToDataTable(dr);
if(dt.Rows.Count<5)
{
int tmp = 5-dt.Rows.Count;
for(int i=0;i<tmp;i++)
{
DataRow myDataRow = dt.NewRow();
myDataRow[0] = "-";
myDataRow[7] = "";
dt.Rows.Add(myDataRow);

}
}


myDataRow[0] = "-";
提示输入字符串的格式不正确。 

怎么解决


------解决方案--------------------
for(int i=0;i <tmp;i++) 

dt.Rows.Add(dt.NewRow());
dt.Rows[dt.Rows.Count - 1][0] = "-";
dt.Rows[dt.Rows.Count - 1][7] = "";

改成上面的试试 如果有异常就打个断点看看是不是index越界
------解决方案--------------------
错误很明显 ,是 myDataRow[0]的 类型不对,也就是说 ,第一列的类型不是 字符串类型,你可以对照一下你读数据库时候,第一列是什么类型的
------解决方案--------------------
估计你第一列的数据类型是数字类型
------解决方案--------------------
老高又来抢分 ^_^
------解决方案--------------------
顶!我也是这么估计。
------解决方案--------------------
我觉得也是这样的!!解决了吗。。。好像很久了。。。