摘要:
下文讲述c#中将对象DataReader转换为DataSet的方法分享,如下所示:
例:
编写一个DataReader转换为DataSet方法
---编写getDataSet方法
public static DataSet GetDataSet(IDataReader reader)
{
DataTable tb = new DataTable();
int columnCount = reader.FieldCount;
for (int i = 0 ; i < columnCount ; i++)
{
tb.Columns.Add(reader.GetName(i) , reader.GetFieldType(i));
}
tb.BeginLoadData();
object[] values = new object[columnCount];
while (reader.Read())
{
reader.GetValues(values);
tb.LoadDataRow(values , true);
}
tb.EndLoadData();
DataSet ds = new DataSet();
ds.Tables.Add(tb);
return ds;
}
---getDataSet方法应用
private void initData()
{
DataSet ds = new Dataset;
SqlConnection sqlConn = new SqlConnection();
sqlConn.Open();
string sqlText = "select * from tableName";
SqlComman sqlCmd=new SqlCommand(sqlText,sqlConn);
sqlConn.Open();
SqlDataReader dr=sqlCmd.ExecuteReader();
if(dr.Read())
{
ds=GetDataSet(dr);//定义一个DataSet 对象接受执行结果
dr.Close();
}
myconn.Close();
if(ds !=null)
{
//对ds进行相关处理
}
}