2012-06-13 54 views
0

在尝试将记录插入数据库时​​,我利用用户将一些字段留空,即零字符串。现在,当我将数据插入到数据库中,而不是一个零值时,我在数据源为零的每列中都获得(空)。当我从数据库中提取记录并将其显示给用户时,他留下的空值现在显示为(空)。Sqlite为无NSString插入'(null)'

我可以实现检查这个'(空)'字符串的逻辑,但我想应该有一些方法来处理它在数据库级别。我的意思是如果我插入一个零值,那么它应该是零或空不是(空)字符串。任何人都可以帮我解决吗? 谢谢

+0

你得到null作为一个字符串或你得到空值??? –

+2

nil ie没有值IS NULL在数据库中 - 一个空字符串是非零NSString一个长度为0 – Mark

+0

当我检索记录我得到(空)作为字符串 – Ahmed

回答

3

当您使用带有“%@”格式说明符的字符串格式并且对应的对象指针值为nil时,格式化的字符串在该位置获得“(null)”。所以,无论你还是你正在使用的图书馆都是这样做的。

在字符串格式之外,我不知道任何会产生“(null)”的问题。

+0

雅,我正在使用%@ + stringWithFormat方法。任何替代或解决方案?除了检查每个字符串不是零吗? – Ahmed

+0

你可能要检查'nil'。如果字符串参数是“nil”,你希望你的格式化查询看起来像什么? –

+0

猜我看到了:)...嗯我认为用“”替换任何零字符串,即长度为零的字符串。它会起作用吗? – Ahmed