【问题标题】:insert doesn`t work why?插入不起作用,为什么?
【发布时间】:2012-11-02 11:59:04
【问题描述】:

表格是从 xml 生成的,它看起来像这样 CREATE TABLE orders (id INTEGER AUTO-INCREMENT PRIMARY KEY , id_room INTEGER, nr_table INTEGER, id_user INTEGER, id_payment INTEGER, total INTEGER)

com.DataConnector.DataConnector.getInstance(getApplicationContext()).executeQuery("INSERT INTO sync_log (table_name,rec_id,upd,del,synchronized)" +"VALUES (\"orders\",2,1,0,0) ");

这个工作没有问题。

Boolean ab=com.DataConnector.DataConnector.getInstance(getApplicationContext()).executeQuery(
"INSERT INTO orders (id_room,nr_table,id_user,id_payment,total)" +"VALUES (1,1,1,0,100) ");

这会抛出

no such column: orders (code 1): , while compiling: INSERT INTO orders (id_room,nr_table,id_user,id_payment,total)VALUES (1,1,1,0,100)

Log.i("cursor id", cursor.getColumnName(0) + cursor.getColumnName(1) + cursor.getColumnName(2) + cursor.getColumnName(3) +cursor.getColumnName(4) + cursor.getColumnName(5));
returns `idid_roomnr_tableid_userid_paymenttotal

所以我有表格,列

【问题讨论】:

  • 所以问题是我怎样才能解决没有这样的列问题
  • 您是否验证了表格、订单及其列?我会先检查一下。
  • SELECT name FROM sqlite_master WHERE type='table' AND name='table_name'; 是的,如果您考虑一下,返回的是一个名为 colmun 的光标,我不知道它是否好??
  • 您的 LogCat 返回了 id, id_room, nr_table, id_user, id_payment, total,在我看来,如果自动递增,您只需将 id 添加到您的插入语句中,值为 null。你试过吗?

标签: android database cursor insert-into


【解决方案1】:

“total)”和“VALUES”之间没有空格?

【讨论】:

  • 没有像第一个查询那样的空格并且它有效,我尝试了空格但仍然没有这样的 colmun :|
【解决方案2】:

应该是表的定义有问题。确保所有列都是整数。

尝试像这样重新创建表:

CREATE TABLE orders (id INTEGER PRIMARY KEY, id_room INTEGER, nr_table INTEGER, id_user INTEGER, id_payment INTEGER, total INTEGER)

【讨论】:

  • total 是 NUMERIC,改成 INTEGER 还是一样的问题:(但很有希望 :)
  • 尝试测试只插入一列,如果测试成功则添加更多
  • 在您的问题中发布该表的定义。尝试升级版本,并在 onupdate 方法中强制删除该表并再次创建(在您的 DB Manager 定义中)
【解决方案3】:

我猜你需要使用表中的 _id 属性。

如果你打算这样做,最好总是使用表中的属性 _id 用光标处理。

为了你更好的理解

请参阅this 讨论和go through this info。在 Android 中使用数据库、游标和适配器可能会让您感觉很舒服。

【讨论】:

    【解决方案4】:

    抱歉,问题解决了,我在订单表上有一个 UPDATE 触发器,并且有一个语法错误

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-22
      • 2013-12-28
      • 2020-01-21
      相关资源
      最近更新 更多