2010-03-12 60 views
1

我在sqlite3表中有一列。列具有值等iphone sqlite3_column_text问题

1 ½”

1 - - ”

21/2” 等 列具有VARCHAR数据类型。

我正在使用此代码。

pref_HoseDiameter = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 2)]; 

现在,当我从读取数据库中的这些价值观,我越来越喜欢这个pref_HoseDiameter字符串值:

1 1/2"

1 3/4"

2 1/2“

如何在数据库中获取这些值或如何将它们转换为数据库值。

帮助,将不胜感激。 在此先感谢。

回答

2

尝试使用sqlite3_column_text16获取字符串为UTF-16,然后使用+stringWithCharacters:创建字符串。

const UInt16* text = sqlite3_column_text16(statement, column); 
int text_len = // find the first 0x0000 in text; 
NSString* str = [NSString stringWithCharacters:text length:text_len]; 
+0

你能给我确切的语法吗? – 2010-03-12 12:56:16