System.Data.Common.DbDataReader reader = 。。。。。;
System.Data.DataTable dt;
for (int i = 0; i < reader.FieldCount; i++)
{
dt.Columns.Add(reader.GetName(i), reader.GetFieldType(i));
}
while (reader.Read())
{
//process the last read record here
dt.Rows.Clear();
System.Data.DataRow dr = dt.NewRow();
for (int i = 0; i < dt.Columns.Count; i++)
{
dr[i] = reader[i];
}
}