自从我使用.NET已有很长时间了,但是幸运的是,几乎可以完成编写一个比较sqlite和mysql数据库的工具。我在尝试为我的包装器编写一个将处理SELECT调用的函数时遇到了一个问题,因为我无法完全弄清楚数据读取器。
我的理解是读取器上循环的每次迭代都是下一行,并且GetString(x)返回“ x”的列值作为索引。我发现的所有示例都知道了它们所需的行/列名称。如何通过“ SELECT * FROM”调用来做到这一点并保存列名称/值以供以后访问?微软似乎有一个“ FieldCount”函数,但是我在MySQL Connector上空了。
谢谢!
public void Query(string query, string tableName)
{
//Open connection
if (this.OpenConnection() == true)
{
//Create Command
MySqlCommand cmd = new MySqlCommand(query, connection);
MySqlDataReader dataReader = cmd.ExecuteReader();
//Read the data and store them in the list
while (dataReader.Read())
{
int count = Count(tableName);
for (int x = 0; x < count; x++)
{
Console.WriteLine(dataReader.GetString(count));
}
}
//close Data Reader
dataReader.Close();
//close Connection
this.CloseConnection();
}
}
最佳答案
您可以使用DbDataReader.GetName
来获取列的名称,该列的顺序为x
。
关于c# - .NET MySQL数据读取器选择功能?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14850118/