自从我使用.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/

10-09 15:45