Android SQLite(1)没有这样的表:查看错误
我知道这个问题有一些答案,但我似乎仍然无法让我的答案发挥作用。我收到错误信息Android SQLite(1)没有这样的表:查看错误,android,sqlite,Android,Sqlite,我知道这个问题有一些答案,但我似乎仍然无法让我的答案发挥作用。我收到错误信息 04-17 11:35:35.086 2437-2437/com.chris.cv10aajproject E/SQLiteLog﹕ (1) AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY 04-17 11:35:35.090 2437-2437/com.chris.cv10aajproject E/SQLiteLog﹕ (1) no s
04-17 11:35:35.086 2437-2437/com.chris.cv10aajproject E/SQLiteLog﹕ (1)
AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY
04-17 11:35:35.090 2437-2437/com.chris.cv10aajproject E/SQLiteLog﹕ (1)
no such table: viewing
我的代码如下所示:
private static final String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + " (" + UID + "INTEGER PRIMARY KEY AUTOINCREMENT, " + POST_CODE + " VARCHAR(255)," +FIRST_LINE+" VARCHAR(255)," + TOWN + " VARCHAR(255) " +
"" + COUNTY + " VARCHAR(255) ," + ROOM_NO + " INTEGER ," + ASKING_PRICE + " INTEGER , " + CURRENT_OFFER + " INTEGER , " + AGREED_PRICE + "INTEGER , " + AGENT_NAME + " VARCHAR(255)," +
"" + AGENT_PHO_NUM + " VARCHAR(255), " + ESTATE_AGENT_NAME + " VARCHAR(255), " + REFURB_COST + " VARCHAR(255), " + TIME_OF_APPOINTMENT + " VARCHAR(255));";
我的适配器中有一个由我的应用程序调用的InsertData
方法
public long insertData(String posCode,String firstLine ,String town,String county, int roomNum,
int askingPrice, int currentOffer, int agreedPrice, String agentName,
String agentPhone,String estateAgentNam, int refurb, String Time)
{
SQLiteDatabase db = helper.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(DbHelper.POST_CODE, posCode);
contentValues.put(DbHelper.FIRST_LINE,firstLine);
contentValues.put(DbHelper.TOWN,town);
contentValues.put(DbHelper.COUNTY, county);
contentValues.put(DbHelper.ROOM_NO,roomNum);
contentValues.put(DbHelper.ASKING_PRICE,askingPrice);
contentValues.put(DbHelper.CURRENT_OFFER, currentOffer);
contentValues.put(DbHelper.AGREED_PRICE,agreedPrice);
contentValues.put(DbHelper.AGENT_NAME,agentName);
contentValues.put(DbHelper.AGENT_PHO_NUM, agentPhone);
contentValues.put(DbHelper.ESTATE_AGENT_NAME,estateAgentNam);
contentValues.put(DbHelper.REFURB_COST,refurb);
contentValues.put(DbHelper.TIME_OF_APPOINTMENT,Time);
long id = db.insert(DbHelper.TABLE_NAME, null, contentValues);
return id ;
我的on create方法如下所示
public void onCreate(SQLiteDatabase db) {
try {
db.execSQL(CREATE_TABLE);
Message.message(context, "onCreate called");
} catch (SQLException e) {
Message.message(context, ""+e);
}
}
CREATE_TABLE
是一个常量,如下所示:
private static final String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + " (" + UID + "INTEGER PRIMARY KEY AUTOINCREMENT, " + POST_CODE + " VARCHAR(255)," +FIRST_LINE+" VARCHAR(255)," + TOWN + " VARCHAR(255) " +
"" + COUNTY + " VARCHAR(255) ," + ROOM_NO + " INTEGER ," + ASKING_PRICE + " INTEGER , " + CURRENT_OFFER + " INTEGER , " + AGREED_PRICE + "INTEGER , " + AGENT_NAME + " VARCHAR(255)," +
"" + AGENT_PHO_NUM + " VARCHAR(255), " + ESTATE_AGENT_NAME + " VARCHAR(255), " + REFURB_COST + " VARCHAR(255), " + TIME_OF_APPOINTMENT + " VARCHAR(255));";
如果您有任何建议,我们将不胜感激您需要在
UID
和INTEGER
所以改变
" (" + UID + "INTEGER PRIMARY KEY AUTOINCREMENT,
到
及
到
因此,将CREATETABLE语句重写为
private static final String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + " (" + UID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + POST_CODE + " VARCHAR(255)," +FIRST_LINE+" VARCHAR(255)," + TOWN + " VARCHAR(255) " +
"" + COUNTY + " VARCHAR(255) ," + ROOM_NO + " INTEGER ," + ASKING_PRICE + " INTEGER , " + CURRENT_OFFER + " INTEGER , " + AGREED_PRICE + " INTEGER , " + AGENT_NAME + " VARCHAR(255)," +
"" + AGENT_PHO_NUM + " VARCHAR(255), " + ESTATE_AGENT_NAME + " VARCHAR(255), " + REFURB_COST + " VARCHAR(255), " + TIME_OF_APPOINTMENT + " VARCHAR(255));";
您需要在
UID
和INTEGER
所以改变
" (" + UID + "INTEGER PRIMARY KEY AUTOINCREMENT,
到
及
到
因此,将CREATETABLE语句重写为
private static final String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + " (" + UID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + POST_CODE + " VARCHAR(255)," +FIRST_LINE+" VARCHAR(255)," + TOWN + " VARCHAR(255) " +
"" + COUNTY + " VARCHAR(255) ," + ROOM_NO + " INTEGER ," + ASKING_PRICE + " INTEGER , " + CURRENT_OFFER + " INTEGER , " + AGREED_PRICE + " INTEGER , " + AGENT_NAME + " VARCHAR(255)," +
"" + AGENT_PHO_NUM + " VARCHAR(255), " + ESTATE_AGENT_NAME + " VARCHAR(255), " + REFURB_COST + " VARCHAR(255), " + TIME_OF_APPOINTMENT + " VARCHAR(255));";
由于
CREATE table SQL
命令错误,因此未创建表
您应该在列名
和列类型
TABLE_NAME + " (" + UID + " INTEGER PRIMARY KEY AUTOINCREMENT, // add space before INTEGER PRIMARY KEY AUTOINCREMENT
更正:
由于
CREATE table SQL
命令错误,因此未创建表
您应该在列名
和列类型
TABLE_NAME + " (" + UID + " INTEGER PRIMARY KEY AUTOINCREMENT, // add space before INTEGER PRIMARY KEY AUTOINCREMENT
更正:
您需要添加空间,但在城镇中缺少逗号,因此请执行以下操作:
private static final String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + " (" + UID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + POST_CODE + " VARCHAR(255)," + FIRST_LINE + " VARCHAR(255)," + TOWN + " VARCHAR(255), " + COUNTY + " VARCHAR(255) ," + ROOM_NO + " INTEGER ," + ASKING_PRICE + " INTEGER , " + CURRENT_OFFER + " INTEGER , " + AGREED_PRICE + "INTEGER , " + AGENT_NAME + " VARCHAR(255)," + AGENT_PHO_NUM + " VARCHAR(255), " + ESTATE_AGENT_NAME + " VARCHAR(255), " + REFURB_COST + " VARCHAR(255), " + TIME_OF_APPOINTMENT + " VARCHAR(255));";
您需要添加空间,但在城镇中缺少逗号,因此请执行以下操作:
private static final String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + " (" + UID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + POST_CODE + " VARCHAR(255)," + FIRST_LINE + " VARCHAR(255)," + TOWN + " VARCHAR(255), " + COUNTY + " VARCHAR(255) ," + ROOM_NO + " INTEGER ," + ASKING_PRICE + " INTEGER , " + CURRENT_OFFER + " INTEGER , " + AGREED_PRICE + "INTEGER , " + AGENT_NAME + " VARCHAR(255)," + AGENT_PHO_NUM + " VARCHAR(255), " + ESTATE_AGENT_NAME + " VARCHAR(255), " + REFURB_COST + " VARCHAR(255), " + TIME_OF_APPOINTMENT + " VARCHAR(255));";
感谢各位,我做了你们建议的更改,现在我得到了一个不同的错误代码(虽然它现在创建了数据库),所以我想这可能是我的一个插入。新的错误消息是04-17 12:12:04.710 2730-2730/com.chris.cv10aaj项目E/SQLiteLog﹕ (1) 靠近“county”:语法错误04-17 12:12:04.718 2730-2730/com.chris.cv10aaje/SQLiteLog﹕ (1) 没有此类表格:viewing@BeginnerJavaDev完成此操作后,您必须卸载应用程序并再次安装一个新的.apk builtBtw。我只想对所有帮助表示感谢。伙计们非常感谢,响应时间非常快:D@BeginnerJavaDev我们总是在这里帮助你!!!!感谢您的回复!!!!感谢各位,我做了你们建议的更改,现在我得到了一个不同的错误代码(虽然它现在创建了数据库),所以我想这可能是我的一个插入。新的错误消息是04-17 12:12:04.710 2730-2730/com.chris.cv10aaj项目E/SQLiteLog﹕ (1) 靠近“county”:语法错误04-17 12:12:04.718 2730-2730/com.chris.cv10aaje/SQLiteLog﹕ (1) 没有此类表格:viewing@BeginnerJavaDev完成此操作后,您必须卸载应用程序并再次安装一个新的.apk builtBtw。我只想对所有帮助表示感谢。伙计们非常感谢,响应时间非常快:D@BeginnerJavaDev我们总是在这里帮助你!!!!感谢您的回复!!!!为Town在VARCHAR后添加逗号,如图所示。为Town在VARCHAR后添加逗号,如图所示。