我正在使用 asp.NET 和 c#,使用 MySQL 的连接器/NET 插件连接到 MySQL 数据库(这并不奇怪)。
这工作正常,可以连接、运行查询等等,一切都很好,但是否有可能返回一个哈希表或类似的结果?保存在同一个表上运行描述以获取列名并每次使用这些值创建哈希。
最佳答案
我假设围绕 C# 包装的 MySQL C/C++ 连接器(相对于在 C# 中重新实现)返回一个包含结果的二元数组。这只是列和行数据,不是列名。 API 还通过 mysql_fetch_field_direct()
返回一个字段(列名)值——获取查询结果后的单独函数调用。这也是一个二维数组。连接器本身不包含用于将两个单独的结果(列名 + 列/行数据)合并到哈希表中的 API。
无需进行第二个查询来获取列名,您只需在分配值的过程中为每个列调用 mysql_fetch_field_direct()
。这会为您提供字段名称以及该列/行中包含的数据。此时,由开发人员决定如何安排这些数据,例如将其存储在哈希表中等。
我使用一个辅助函数作为查询执行的包装器,它将每一行存储在一个二叉树中,列名是键,并返回一个树的链接列表,供我处理我需要的事情。
关于c# - 使用 Connector/NET 的关联数组/哈希/哈希表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1443557/