c#动态查询数据表?

c#动态查询数据表?,c#,datatable,C#,Datatable,我想创建一个函数,它向远程mysql服务器发送一个查询,并将数据动态地放入DataTable对象中,现在的问题是从读取器中获取值并完全填充该对象。如果我从读卡器中得到1行数据,那不是全部数据,如果我得到10行数据,那就是超出范围的错误。我不想把它绑定到特定的表中 ... oCon = new MySqlConnection(...) ... private DataTable query(MySqlCommand command, DataTab

我想创建一个函数,它向远程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;
    }
。。。
oCon=新的MySqlConnection(…)
...        
专用数据表查询(MySqlCommand命令,数据表模式)
{
数据表=模式;
oCon.Open();
MySqlDataReader=command.ExecuteReader();
while(reader.Read())
{
for(int i=0;i
您需要使用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);
MySqlDataReader resultSet=cmd.ExecuteReader(); dt.Columns.Clear(); 对于(int i=0;i