1

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

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

4

3 回答 3

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);";
于 2012-05-23T15:56:11.343 回答
1

表名或列名中不能有空格。

将其更改为Card_Numberor CardNumber,它应该可以工作。

编辑

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

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

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

于 2012-05-23T15:52:29.170 回答
0

你的查询搞砸了。您需要在列名及其属性之间留出空格。

例如,以下内容:

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

应该是这样的:

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

注意列名后面的空格

于 2012-05-23T15:28:01.503 回答