2010-09-29 64 views
4

目前,我从声明中得到的值是这样的:获取SQLite中的列名?

[[NSString stringWithUTF8String:(char *)sqlite3_column_text(ReturnStatement,0)] retain]; 

我想通过输入列名像这样得到的数值:

[[NSString stringWithUTF8String:(char *)sqlite3_column_text(ReturnStatement,@"FirstColumn")] retain]; 

有没有办法做到这一点?

+0

您使用字符串而不是数字索引的动机是什么。 – falconcreek 2010-09-29 13:18:22

+0

建议您在发布问题前阅读文档。 http://sqlite.org/c3ref/column_blob.html – falconcreek 2010-09-29 13:19:28

+0

我阅读文档。这就是为什么我要求有人通过自定义代码完成这件事。我想使用列名称,因为如果我更改数据库列或查询中的选择我将不必担心索引。希望你现在明白为什么人们希望按列名选择。 – 2010-09-29 16:18:25

回答

3

结账http://sqlite.org/c3ref/column_name.html。您必须迭代查询返回的列索引才能将列名添加到数组或字典中,稍后可以引用该列来查找列索引,并给定要提供给column_text函数的名称,column_text函数只接受列索引作为整数参数。

直接使用sqlite而不是CoreData将会为您处理这个问题之一。

+0

好的谢谢你的回答。 :) – 2010-09-30 05:35:06