将SQLCEResultSet resultview转换为datatable

时间:2010-04-06 03:45:08

标签: c# sql-server-ce resultset

是否可以将sqlceresultset.resultview转换为datatable?

1 个答案:

答案 0 :(得分:4)

未经测试,但这应该可以满足您的需求:

public DataTable ResultSetToDataTable(SqlCeResultSet set)
{
    DataTable dt = new DataTable();

    // copy columns
    for (int col = 0; col < set.FieldCount; col++)
    {
        dt.Columns.Add(set.GetName(col), set.GetFieldType(col));
    }

    // copy data
    while (set.Read())
    {
        DataRow row = dt.NewRow();
        for (int col = 0; col < set.FieldCount; col++)
        {
            int ordinal = set.GetOrdinal(GetName(col));
            row[col] = set.GetValue(ordinal);
        }
        dt.Rows.Add(row);
    }

    return dt;
}

没有内置的方法(我知道),可能是因为SqlCeResultSet不存储像DataTable那样的实际数据。