System.ArgumentException: 值类型与列类型不匹配

chengge37 2011-11-30 11:23:51
刚下载了一个OA系统源码。
但出现了如题上的错误。

代码如下。


public static DataTable ConvertDataReaderToDataTable(SqlDataReader dataReader)
{
DataTable datatable = new DataTable();
DataTable schemaTable = dataReader.GetSchemaTable();

//动态添加列
try
{

foreach(DataRow myRow in schemaTable.Rows)
{
DataColumn myDataColumn = new DataColumn();
myDataColumn.DataType = myRow.GetType();
myDataColumn.ColumnName = myRow[0].ToString();
datatable.Columns.Add(myDataColumn);
}
//添加数据
while(dataReader.Read())
{
DataRow myDataRow = datatable.NewRow();
for(int i=0;i<schemaTable.Rows.Count;i++)
{
myDataRow[i] = dataReader[i].ToString();(提示这行出错) }
datatable.Rows.Add(myDataRow);
myDataRow = null;
}
schemaTable = null;
dataReader.Close();
return datatable;
}
catch(Exception ex)
{
///抛出类型转换错误
throw new Exception("转换出错出错!",ex);
}



请大侠们解决一下。。谢谢。。最好说明一下原因。
...全文
267 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿非 2011-12-01
  • 打赏
  • 举报
回复
for(int i=0;i<schemaTable.Rows.Count;i++)

这里应该遍历列 不是遍历行
阿非 2011-12-01
  • 打赏
  • 举报
回复
myDataRow[i] = dataReader[i];
chengge37 2011-12-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhangmsnet 的回复:]
都不写 出错提示怎么看呀?
[/Quote]

出错提示就是如题:
System.ArgumentException: 值类型与列类型不匹配
这个错误啊。
IOCRM 2011-12-01
  • 打赏
  • 举报
回复
都不写 出错提示怎么看呀?
chengge37 2011-12-01
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 sandy945 的回复:]
for(int i=0;i<schemaTable.Columns.Count;i++)
[/Quote]

还是出错。。错误信息还是值类型和列类型不匹配。、
chengge37 2011-12-01
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 sandy945 的回复:]
for(int i=0;i<schemaTable.Columns.Count;i++)
[/Quote]

还是出错。。错误信息还是值类型和列类型不匹配。、
阿非 2011-12-01
  • 打赏
  • 举报
回复
for(int i=0;i<schemaTable.Columns.Count;i++)

chengge37 2011-12-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sandy945 的回复:]
for(int i=0;i<schemaTable.Rows.Count;i++)

这里应该遍历列 不是遍历行
[/Quote]
那应该怎么改呢?
chengge37 2011-11-30
  • 打赏
  • 举报
回复

while(dataReader.Read())
{
DataRow myDataRow = datatable.NewRow();
for(int i=0;i<schemaTable.Rows.Count;i++)
{
myDataRow[i] = dataReader[i].ToString();(提示这行出错)[/color] }
datatable.Rows.Add(myDataRow);
myDataRow = null;
}

62,253

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧