myDataRow[i] = dataReader[i].ToString();
左边是datarow,右边是string,当然不能赋值了
要赋值的话要使用datacell,用string给datacell赋值

解决方案 »

  1.   

    public static DataTable ConvertDataReaderToDataTable(IDataReader reader)
            {
                if (null == reader)
                    return null;            DataTable table = new DataTable();
                for (int i = 0; i < reader.FieldCount; i++)
                {
                    table.Columns.Add(reader.GetName(i), reader.GetFieldType(i));
                }            table.BeginLoadData();
                object[] values = new object[reader.FieldCount - 1];
                while (reader.Read())
                {
                    reader.GetValues(values);
                    table.LoadDataRow(values, true);
                }
                reader.Close();
                table.EndLoadData();
                
                return table;
            }