android中的数据库创建

android中的数据库创建,android,Android,我正在创建一个表,它可以在模拟器上工作,但不能在设备上工作。我收到以下错误消息: Failure 1 (near "(": syntax error) on 0x2d69a8 when preparing 'CREATE TABLE request(requestidINTEGER PRIMARY KEY,longitudefromDECIMAL(10,5),lattitudefromDECIMAL(10,5),phoneINTEGER) 我正在创建如下表: String CREATE_RE

我正在创建一个表,它可以在模拟器上工作,但不能在设备上工作。我收到以下错误消息:

Failure 1 (near "(": syntax error) on 0x2d69a8 when preparing 'CREATE TABLE request(requestidINTEGER PRIMARY KEY,longitudefromDECIMAL(10,5),lattitudefromDECIMAL(10,5),phoneINTEGER)
我正在创建如下表:

 String CREATE_REQUEST_TABLE= "CREATE TABLE " + TABLE_REQUEST + "(" 
                    + KEY_REQUESTID + "INTEGER PRIMARY KEY," 
                    + KEY_LONGITUDEFROM + "DECIMAL(10,5)," 
                    + KEY_LATTITUDEFROM + "DECIMAL(10,5)," 
                    + KEY_TO + "TEXT," 
                    + KEY_DEPARTURETIME + "TIME," 
                    + KEY_ARRIVALTIME + "TIME," 
                    + KEY_DESCRIPTION + "TEXT," 
                    + KEY_PHONE + "INTEGER" + ")"; 
            db.execSQL(CREATE_REQUEST_TABLE); 

正如您在错误消息中所看到的,
KEY\u REQUESTID+“INTEGER PRIMARY KEY”
变成了
requestiditeger PRIMARY
,它不是
REQUESTID INTEGER PRIMARY
。基本上,列名和列类型之间没有空格,这使得它们(在SQLite看来)看起来像一个标记。

正如您在错误消息中看到的,
KEY\u REQUESTID+“INTEGER PRIMARY KEY,
变成了
requestidINTEGER PRIMARY
而不是
REQUESTID INTEGER PRIMARY
。基本上,列名和列类型之间没有空格,这使得它们(在SQLite看来)看起来像一个标记。

您的请求中没有空格。在键前后添加空格:

String CREATE_REQUEST_TABLE= "CREATE TABLE " + TABLE_REQUEST + " (" 
                + KEY_REQUESTID + " INTEGER PRIMARY KEY, " 
                + KEY_LONGITUDEFROM + " DECIMAL(10,5), " 
                + KEY_LATTITUDEFROM + " DECIMAL(10,5), " 
                + KEY_TO + " TEXT, " 
                + KEY_DEPARTURETIME + " TIME, " 
                + KEY_ARRIVALTIME + " TIME, " 
                + KEY_DESCRIPTION + " TEXT, " 
                + KEY_PHONE + " INTEGER" + ")"; 

您的请求中没有空格。在键前后添加空格:

String CREATE_REQUEST_TABLE= "CREATE TABLE " + TABLE_REQUEST + " (" 
                + KEY_REQUESTID + " INTEGER PRIMARY KEY, " 
                + KEY_LONGITUDEFROM + " DECIMAL(10,5), " 
                + KEY_LATTITUDEFROM + " DECIMAL(10,5), " 
                + KEY_TO + " TEXT, " 
                + KEY_DEPARTURETIME + " TIME, " 
                + KEY_ARRIVALTIME + " TIME, " 
                + KEY_DESCRIPTION + " TEXT, " 
                + KEY_PHONE + " INTEGER" + ")"; 

请尝试在id和“整数主键”之间使用空格

喜欢

    KEY_REQUESTID + " INTEGER PRIMARY KEY,"

请尝试在id和“整数主键”之间使用空格

喜欢

    KEY_REQUESTID + " INTEGER PRIMARY KEY,"

谢谢,就是这样,但我想知道为什么在模拟器上它工作得很好,当我在设备上尝试时它崩溃了。。但是现在一切都在运行谢谢你,就是这样,但我想知道为什么在模拟器上运行良好,当我在设备上尝试时,它崩溃了。。但现在一切正常