如何将空值存储到数据库表

用户3351727

我正在将值插入数据库表。我有声明要获取数据并插入。如果我没有任何值,则需要插入空白而不是NULL

[parentDict setObject:[NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 5)== NULL?"":(char *)sqlite3_column_text(compiledStatement, 5)] forKey:@"AM_Answer"];

通常,您将[NSNull null]在字典中插入以指示空值:

const char *column5 = sqlite3_column_text(compiledStatement, 5);

if (column5 == NULL)
    [parentDict setObject:[NSNull null] forKey:@"AM_Answer"];
else
    [parentDict setObject:[NSString stringWithUTF8String:(char *) column5] forKey:@"AM_Answer"];

您也可以使用零长度的字符串(例如@""),但是通常最好区分空值和零长度的字符串。


就将空值插入数据库而言,您可以使用SQLNULL值:

int rc;

if ((rc = sqlite3_exec(db, "insert into test (column_a, column_b) values ('valueA', null)", NULL, NULL, NULL)) != SQLITE_OK)
    NSLog(@"insert failed %d: %s", rc, sqlite3_errmsg(db));

或者,如果要动态绑定值,则可以使用以下sqlite3_bind_null()函数:

sqlite3_stmt *statement;

if ((rc = sqlite3_prepare_v2(db, "insert into test (column_a, column_b) values (?, ?)", -1, &statement, NULL)) != SQLITE_OK)
    NSLog(@"prepare failed %d: %s", rc, sqlite3_errmsg(db));

NSString *valueA = @"valueA";
if ((rc = sqlite3_bind_text(statement, 1, [valueA UTF8String], -1, SQLITE_TRANSIENT)) != SQLITE_OK)
    NSLog(@"bind a failed %d: %s", rc, sqlite3_errmsg(db));

if ((rc = sqlite3_bind_null(statement, 2)) != SQLITE_OK)
    NSLog(@"bind b failed %d: %s", rc, sqlite3_errmsg(db));

if ((rc = sqlite3_step(statement)) != SQLITE_DONE)
    NSLog(@"step failed %d: %s", rc, sqlite3_errmsg(db));

sqlite3_finalize(statement);

如果使用FMDB,则可以大大简化后一个示例

BOOL success = [db executeUpdate:@"insert into test (column_a, column_b) values (?, ?)", @"valueA", [NSNull null]];
if (!success)
    NSLog(@"Insert failed: %@", [db lastErrorMessage]);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将Hibernate Envers审核表存储到其他数据库中?

来自分类Dev

如何将Hibernate Envers审核表存储到其他数据库中?

来自分类Dev

如何将短信存储到SQLite数据库?

来自分类Dev

如何将ICollection值存储到MVC5中的数据库中?

来自分类Dev

如何将ICollection值存储到MVC5中的数据库中?

来自分类Dev

如何将表单中的值存储到mySQL数据库中?

来自分类Dev

如何将编码值存储到数据库中

来自分类Dev

如何将javascript的值传递到PHP变量中并存储到mysql数据库中?

来自分类Dev

如何将静态类中的数据存储到ASP中的数据库。网?并修改静态类的值?

来自分类Dev

如何将图像检索到其源存储在SQL Server数据库中的html表中?

来自分类Dev

如何将MySQL数据库中的数据存储到数组中?

来自分类Dev

如何将数据从服务器存储到Phonegap中的数据库

来自分类Dev

如何将分离的数据存储到数据库中的最有效方法

来自分类Dev

HBase崩溃后如何将数据存储到主数据库

来自分类Dev

如何将div标记内的数据存储到数据库中?

来自分类Dev

如何将模型形式的数据存储到数据库

来自分类Dev

如何将 MySQL 数据库中的数据存储到由 id 索引的数组中?

来自分类Dev

如何将输入的数据存储到远程数据库中?

来自分类Dev

如何使用jdbc连接将数据从excel工作表存储到mysql数据库中

来自分类Dev

如何将数据从MySql数据库(WPF)中的表绑定到组合框

来自分类Dev

Spring MVC如何将数据库中的数据显示到表中

来自分类Dev

如何将数据从MySql数据库(WPF)中的表绑定到组合框

来自分类Dev

如何将PropertyBag类存储到数据库中

来自分类Dev

如何将spark输出存储到rdbms数据库?

来自分类Dev

如何将经过地理编码的地址信息存储到数据库中

来自分类Dev

如何将数组输入存储到数据库中?MYSQL PHP表单输入foreach

来自分类Dev

如何将嵌套的JSON对象存储到Firebase数据库中?

来自分类Dev

如何将JSON数组元素存储到SQLite数据库

来自分类Dev

如何将日期存储到解析数据库(iOS)

Related 相关文章

  1. 1

    如何将Hibernate Envers审核表存储到其他数据库中?

  2. 2

    如何将Hibernate Envers审核表存储到其他数据库中?

  3. 3

    如何将短信存储到SQLite数据库?

  4. 4

    如何将ICollection值存储到MVC5中的数据库中?

  5. 5

    如何将ICollection值存储到MVC5中的数据库中?

  6. 6

    如何将表单中的值存储到mySQL数据库中?

  7. 7

    如何将编码值存储到数据库中

  8. 8

    如何将javascript的值传递到PHP变量中并存储到mysql数据库中?

  9. 9

    如何将静态类中的数据存储到ASP中的数据库。网?并修改静态类的值?

  10. 10

    如何将图像检索到其源存储在SQL Server数据库中的html表中?

  11. 11

    如何将MySQL数据库中的数据存储到数组中?

  12. 12

    如何将数据从服务器存储到Phonegap中的数据库

  13. 13

    如何将分离的数据存储到数据库中的最有效方法

  14. 14

    HBase崩溃后如何将数据存储到主数据库

  15. 15

    如何将div标记内的数据存储到数据库中?

  16. 16

    如何将模型形式的数据存储到数据库

  17. 17

    如何将 MySQL 数据库中的数据存储到由 id 索引的数组中?

  18. 18

    如何将输入的数据存储到远程数据库中?

  19. 19

    如何使用jdbc连接将数据从excel工作表存储到mysql数据库中

  20. 20

    如何将数据从MySql数据库(WPF)中的表绑定到组合框

  21. 21

    Spring MVC如何将数据库中的数据显示到表中

  22. 22

    如何将数据从MySql数据库(WPF)中的表绑定到组合框

  23. 23

    如何将PropertyBag类存储到数据库中

  24. 24

    如何将spark输出存储到rdbms数据库?

  25. 25

    如何将经过地理编码的地址信息存储到数据库中

  26. 26

    如何将数组输入存储到数据库中?MYSQL PHP表单输入foreach

  27. 27

    如何将嵌套的JSON对象存储到Firebase数据库中?

  28. 28

    如何将JSON数组元素存储到SQLite数据库

  29. 29

    如何将日期存储到解析数据库(iOS)

热门标签

归档