c#动态查询到DataTable?

时间:2014-04-20 21:24:37

标签: c# datatable

我想创建一个函数,它将查询发送到远程mysql服务器并将数据动态地放入DataTable对象,我现在的问题是从读取器中获取值并完全填充该对象。如果我从阅读器中获得1行而不是整个数据,如果我得到10则超出范围错误。我不想让它绑定到特定的表格。

    ...
    oCon = new MySqlConnection(...)
    ...        

    private DataTable query(MySqlCommand command, DataTable pattern)
    {
        DataTable table = pattern;
        oCon.Open();
        MySqlDataReader reader = command.ExecuteReader();
        while (reader.Read())
        {
            for (int i = 0; i < table.Columns.Count; i++)
            {
                table.Rows.Add(What here?);
            }
        }
        reader.Close();
        oCon.Close();
        return table;
    }

1 个答案:

答案 0 :(得分:1)

您需要使用 GetName 功能。

MySqlDataReader resultSet = cmd.ExecuteReader();
dt.Columns.Clear();
for (int i = 0; i < resultSet.FieldCount; i++)
{
    dt.Columns.Add(resultSet.GetName(i));
}
dt.Load(resultSet);