如何删除数据库中返回的错误sqlite返回:错误代码= 1,msg =表Customer_details_table没有名为“卡号”的列

时间:2012-05-23 15:25:52

标签: android sqlite

String sqlQueryToCreateUndergraduateDetailsTable =“如果不存在则创建表”+ TABLE_NAME_GPA +“(”+ BaseColumns._ID +“整数主键自动增量,”                                                 +“COLUMN_NAME”+“text not null,”+“COLUMN_SURNAME”+“text not null,”+“COLUMN_DATE_OF_BIRTH”+“text not null,+”COLUMN_ADDRESS“+”text not null,“+”COLUMN_EMAIL“+”text not null,“+”COLUMN_PHONE_NUMBER“+”text not null,“+”COLUMN_CITY“+”text not null,“+”COLUMN_PTYE_PAYMENT“+”text not null,“+”COLUMN_SHIPPING_TYPE“+”text not null,“+” COLUMN_CARD_NUMBER“+”文本不为空,“+”COLUMN_Password“+”文本不为空);“;

我正在尝试保存到数据库但它给我一个错误说.....错误代码= 1,msg =表Customer_details_table没有名为“卡号”的列

3 个答案:

答案 0 :(得分:1)

表或列名称中不能包含空格。

将其更改为Card_NumberCardNumber,它应该有效。

修改

查看错误以及您最初说的内容,我认为您发布了错误的SQL。

您向我们展示了您的表创建SQL,但您说“我正在尝试将保存到数据库”...并且错误消息似乎表明它正在查找列,不想创造一个。

我认为您需要查看插入或更新方法SQL,您可能需要手动输入它,而不是使用常量并在其中意外放置空格。

答案 1 :(得分:1)

另外,我不认为你想把常数放入"",或者你没有将它们作为常数?

它应该类似于:

String sqlQueryToCreateUndergraduateDetailsTable = "create table if not exists  "
        + TABLE_CREDENTIALS + " ( " + BaseColumns._ID
        + " integer primary key autoincrement, " + COLUMN_NAME
        + " text not null, " + COLUMN_PASSWORD + " text not null);";

答案 2 :(得分:0)

您的查询搞砸了。您需要在列名称及其属性之间添加空格。

例如,以下内容:

... +"COLUMN_CARD_NUMBER" + "text not null," + ...

应该是这样的:

... +"COLUMN_CARD_NUMBER " + "text not null," + ...

请注意列名称后的空格