我想创建一个函数,它将查询发送到远程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;
}
答案 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);