【问题标题】:adding double value field to sqlite database将双值字段添加到 sqlite 数据库
【发布时间】:2011-09-03 17:44:55
【问题描述】:

如果我想在数据库中添加一个 NSString 字段,我可以通过以下方式完成

sqlite3_bind_text(addStmt, 1, [PlaceName UTF8String], -1, SQLITE_TRANSIENT);

其中,PlaceName 是插入到第 1 列的 NSString 类型的变量。现在如果我想向数据库添加双字段怎么办?

我试过了,

sqlite3_bind_double(addStmt, 4, [PlaceLongitude doubleValue]);

出现错误:无法转换为指针类型。

请帮助我。提前感谢您的帮助。

【问题讨论】:

  • PlaceLongitude的类型是什么?
  • 如果是double,可以直接传给方法。

标签: iphone sqlite


【解决方案1】:

双重保存到数据库
如果PlaceLongitudedouble,可以直接传给方法,

sqlite3_bind_double(addStmt, 4, PlaceLongitude);

错误Cannot convert to a pointer type 是因为您试图调用原始类型(双精度)的方法。

从数据库中检索双精度

NSString *longStr = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt, 4)];
Place.PlaceLongitude = [longStr doubleValue];

【讨论】:

  • 谢谢。这真的有帮助.... !!当我显示数据库时,我可以通过以下方式将数据库值分配给 NSString Place.PlaceName = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt, 1)] where 放置包含 PlaceName、PlaceLongitude 等的对象。你能告诉我对双值 PlaceLongitude 的类似声明?
  • 谢谢老板。这再次完美运行。如果可能的话,我会给你的答案加上 2 个“绿色 V 标签”。
猜你喜欢
  • 2011-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多