2009-08-21 73 views
1

所以我正在修改CLSQL抽象以适合我自己的需要。我一直在使用clsql-sys软件包,这符合我的大部分需求。但是,我似乎无法找到如何从结果集中获取字段名称和字段类型的列表。事实上,我似乎无法找到任何东西来获取类型(名称我可以入侵数据库查询结果集方法。)从结果集中获取CLSQL中的字段名称和类型

任何帮助将非常感激,特别是在类型。

谢谢! 介人

回答

1

我最终发现了如何做到这一点,但仅限于MySQL和Oracle,这使泛型函数不再有效。它也非常哈克(我硬编码类型)

我已经在这里记载的: http://www.jierenchen.com/2009/08/solution.html

让我通过电子邮件知道,如果您有任何相关的问题。

1

作为manual entry for the query function状态:

查询查询表达式&密钥数据库结果类型flatp场名称=>导致

...

现场名称默认值为T的布尔值。当T时,此函数返回 的字段名称列表。当NIL时,此函数只返回一个值 - 行的列表。

(强调我的)。这就是你如何获得字段名称。至于田野类型......嗯。似乎,查询想要喂食的类型。该手册没有提到从实际结果集中获取类型。

+0

很好的问题与clsql:查询是它运行查询,并返回一切作为列表的大胖列表。我真的不想那样。如果有意义,我想分解查询的运行和返回值的生成。理想情况下,我会这样做(clsql-sys:database-query-result-set),获取结果集,然后运行一些内容以获取结果集中的字段名称和字段类型。 – Jieren 2009-08-21 13:58:28

+0

同意。 CLSQL的高级接口有些尴尬,特别是如果你知道你的查询会返回一个很大的结果集,而这个结果集最好每次消耗一行。但根据文档,map-query和do-query都不允许您检索除结果中的数据之外的任何内容。 – Dirk 2009-08-21 14:09:19