2014-09-25 82 views
-1
public static final String DB_NAME = "task_management"; 
public static final int DB_VERSION = 1; 

public static final String EMPLOYEE_TABLE = "employee"; 
public static final String ID_FIELD = "_id"; 
public static final String NAME_FIELD = "name"; 
public static final String TIME_DATE = "time_date"; 

public static final String EMPLOYEE_TABLE_SQL = "CREATE TABLE" 
     + EMPLOYEE_TABLE + "(" + ID_FIELD + "INTEGER PRIMARY KEY," 
     + NAME_FIELD + "name," + TIME_DATE + "time_date,)"; 

我的数据库有什么问题?Sqlite数据库语法错误

我的日志猫显示

“TABLEemployee”:语法错误。

如何解决?

+1

也许你应该删除最后昏迷! - >> time_date,)“; << - – 2014-09-25 21:51:40

回答

0

添加一个空格...TABLE"EMPLOYEE_TABLE之间...

,如:

EMPLOYEE_TABLE_SQL = "CREATE TABLE " + EMPLOYEE_TABLE... 
           ^
           add space here 
0
public static final String EMPLOYEE_TABLE_SQL = 
     "CREATE TABLE " + EMPLOYEE_TABLE 
     + "(" + ID_FIELD + "integer primary key autoincrement," 
     + NAME_FIELD + "string," + TIME_DATE + "datetime)" 
     + ");"; 
这个

什么?

+0

删除格雷格说的最后一个逗号。 – eduyayo 2014-09-25 21:58:52

+0

在idfield和整数之间加上另一个空格...等等等等 – eduyayo 2014-09-25 22:00:07

+0

不行不行// @ Achayan – 2014-09-25 22:11:21

0

您的员工表sql不正确。除了语法错误(缺少空格,缺少结束分号)之外,您还需要为TIME_DATE列定义数据类型。

顺便说一句,我实际上已经去在SQLite数据库上执行此SQL语句的麻烦,它的工作原理。

试试这个:

public static final String EMPLOYEE_TABLE_SQL = "CREATE TABLE " 
     + EMPLOYEE_TABLE + " (" + ID_FIELD + " INTEGER PRIMARY KEY, " 
     + NAME_FIELD + " TEXT, " + TIME_DATE + " DATETIME);"; 
+0

owo你是真正的josss。@ Michael Krause – 2014-09-26 08:41:40

+0

数据类型[无所谓](http://www.sqlite.org/datatype3.html)。 – 2014-09-26 08:53:03