2010-09-29 54 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