从sqlite中读取数据给NSString,尽量不要使用下面的形式:
foodInfo.m_row = [NSString stringWithFormat:@"%s",(char*)sqlite3_column_text(statement, 2)];
而应该使用:
fullTitle=[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 0)];
第一种形式在读取汉字字符串如"苹果"时,会读取并显示成乱码.
此外,在设计数据库时,要尽量给字段加上默认值,如
[ShowDate] [DATETIME] NULL DEFAULT CURRENT_TIMESTAMP
[Tip] [TEXT] NULL DEFAULT '',
[VideoLength] Integer DEFAULT 0
特别是对于TEXT的默认值,可以避免使用stringWithUTF8String:NULL 时,导致的crash.
阅读(1330) | 评论(0) | 转发(0) |