SqlDataReader-------->DataTable

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) 

Error.Log(ex.ToString()); 
throw new Exception("转换出错出错!",ex); 
}
 

}
 


posted @ 2007-08-22 19:27 Robot·H 阅读(154) 评论(1)  编辑 收藏 所属分类: asp.Net2.0
DataTable" trackback:ping="http://www.cnblogs.com/RobotH/services/trackbacks/865912.aspx" /> -->

  回复  引用    
#1楼 2007-08-23 21:43 | linberd [未注册用户]
运行的时候出现错误:{"值类型与列类型不匹配不能在 ID 列中存储 <1>。所需类型是 DataRow。"}

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      


相关链接: