SQLite中的查询出错

时间:2018-04-14 07:40:57

标签: android sqlite

我的SQLLite查询无法正常工作。见下文:

 UUID i=UUID.randomUUID();
        String Beregero ="INSERT INTO 
 contacts(id,uuid,name,phone,email,street,city,state,zip) " +
          " VALUES(3,"+"'"+i.toString()+"'"+",'Patrice 
 Beregeron','978-555-1212','pBeregero@BostonBruins.com'," +
          "'1 causeway street','Boston','Mass','01236');";
 db.execSQL(Beregero);

我在日志中收到以下错误:

(table contacts has no column named uuid (code 1): , while 
compiling: INSERT INTO contacts(id,uuid,name,phone,email,
street,city,state,zip)  VALUES(3,'12ee5bbf-dabb-4d95-bfe7-6e6f14702add',
'Patrice Beregeron','978-555-1212','pBeregero@BostonBruins.com',
'1 causeway street','Boston','Mass','01236');)
#################################################################

3 个答案:

答案 0 :(得分:0)

异常说明了这一点,你的表没有创建列名uuid。所以卸载应用程序,然后再次运行它。仅当未生成列时才会发生此错误。

答案 1 :(得分:0)

您尚未在创建表“uuid”查询中添加“contacts”列,如下所示:

String createTableContacts = "create table contacts ( ' uuid text ')";

答案 2 :(得分:0)

您日志中的错误消息清楚地说明了问题。 contacts表没有列uuid。您现在可以执行以下操作:

  • 检查你是否有正确的小写与大写。相关列可能是UUID而不是uuid(我不了解SQLite,但许多数据库系统中的情况都很重要)。

  • 如果该列确实不在表中,则添加它(通过代码或手动添加)。阅读SQLite的文档以了解如何(我无法帮助您,因为我不了解SQLite)。

如果应用程序在安装时或首次运行期间生成数据库,则卸载并重新安装应用程序将仅 。由于我们对该应用程序一无所知,这可能是也可能不是。