我正在使用SQLiteHelper创建一个数据库,当应用程序尝试运行时,我不断收到异常。
这是我收到的错误消息:引起原因:android.database.sqlite.SQLiteExcture:附近"Trip":语法错误(代码1):,而编译:创建表商务旅行支出(desc文本主键,餐整数不为空,饮料整数不为空,旅行整数不为空,住宿整数不为空,其他整数不为空,Receipt_Retained?Real NO NULL,Created_at文本NO NULL);
js lang-js prettyprint-override">public class MySQLiteHelper extends SQLiteOpenHelper {
public static final String TABLE_NAME = "Business Trip Expenditure";
//Column Names
public static final String COLUMN_NAME = "desc";
public static final String MEAL_COST ="Meals";
public static final String DRINK_COST = "Drinks";
public static final String TRAVEL_COST = "Travel";
public static final String ACCO_COST = "Accommodation";
public static final String OTHER_COST = "Other";
public static final String HAS_RECEIPT = "Receipt_Retained?";
public static final String CREATED_AT = "Created_at";
private static final String DATABASE_NAME = "task.db";
private static final int DATABASE_VERSION = 1;
// Database creation sql statement
private static final String DATABASE_CREATE = "create table "
+ TABLE_NAME + "( " + COLUMN_NAME + " text primary key , " + MEAL_COST + " integer NOT NULL , " + DRINK_COST + " integer NOT NULL , " + TRAVEL_COST + " integer NOT NULL , " + ACCO_COST + " integer NOT NULL , " + OTHER_COST + " integer NOT NULL , " + HAS_RECEIPT + " real NOT NULL , " + CREATED_AT + " text NOT NULL );";
public MySQLiteHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase database) {
database.execSQL(DATABASE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(MySQLiteHelper.class.getName(),
"Upgrading database from version " + oldVersion + " to "
+ newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
}
如果有人能帮助我创建表的语法,我将不胜感激,我知道这种形式的代码在语法方面很挑剔。
变化:
public static final String TABLE_NAME = "Business Trip Expenditure";
到
public static final String TABLE_NAME = "Business_Trip_Expenditure";
在构造方法中无法使用返回值,因此遇到错误只能抛出异常,而不应该使用Fatal Error 如果是用户使用方法存在问题,必须要修改程序代码,这类错误可以抛出Fatal Error 非构造方法,只return false,并设置错误码,而不是抛出异常
问题内容: 您认为可以在异常内使用错误代码来指定错误类型吗?请看下面的代码: 我知道在此示例中使用枚举而不是字符串会更好,但是我实际上担心错误代码的概念。您认为在这里异常层次结构会更好吗?我找不到任何权威来源指出异常中的错误代码是反模式的。谢谢。 问题答案: 如果您想根据导致异常(无效名称或无效ID)的原因做出不同的响应(在代码中),那么我建议您使用不同的异常。 如果不是,那么您甚至不需要该方法,
私有静态final int DATABASE_VERSION=1;私有静态最终字符串DATABASE_NAME=“unitconversion.db”;
我试图使用SQlite,但出现了以下错误: e/sqlite ;异常:“)”附近:语法错误(代码1 SQLITE_ERROR):,编译时:如果不存在则创建表联系人(_id整数主键自动增量、名称文本、组织文本、电话整数、地址文本、电子邮件文本、web_ad文本、inf文本、生日文本NULL,) 我猜应该是我的代码的这一部分: 这很奇怪,因为一开始SQL_CREATE_ENTRIES如下所示,并且没有
本章主要列出 JA 的错误代码,供开发者参考 异常代码 描述 原因 解决方案 2000 Success - - 5000 Failure 多为系统异常,如 JA 本身的 BUG,或者其他原因 请参考控制台异常栈 5001 Not Implemented 方法未实现 ① 针对自定义的 oauth 平台,请检查你的代码,是否存在未实现必要接口的问题; ② 针对 JA 内置的平台,说明该平台的某个方法暂
错误1064(42000):您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以了解在第8行MySQL中使用“NOT NULL,date\u cree timestamp,PRIMARY KEY(id)NOT NULL,)ENGINE=InnoDB”附近的正确语法