アプリケーションを実行してデータベースに何らかの情報を入力しようとすると、何も起きず、エラーメッセージが表示されます。 LogCatに表示されます。 完全なエラーメッセージは次のとおりです。0x2d7a30のエラー1( "NULLenergy_rates"の近く:構文エラー)
「04-09 17:22:18.208:E /データベース(484):失敗1(近い ":「TABLEのApplianceDetailsをCREATE準備0x2d7a30上(_idのINTEGER構文エラーNULLenergy_rates") 。私はこのエラーを修正する方法上の任意のヘルプはいただければ幸い
public class Database {
public static final String KEY_ROWID = "_id";
public static final String KEY_NAME = "appliance_name";
public static final String KEY_WATTAGE = "appliance_wattage";
public static final String KEY_ENERGY = "energy_rates";
private static final String DATABASE_NAME = "TheApplianceKeeperdb";
private static final String DATABASE_TABLE = "ApplianceDetails";
private static final int DATABASE_VERSION = 1;
private DbHelper ourHelper;
private final Context ourContext;
private SQLiteDatabase ourDatabase;
private static class DbHelper extends SQLiteOpenHelper{
public DbHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" +
KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
KEY_NAME + " TEXT NOT NULL, " +
KEY_WATTAGE + " TEXT NOT NULL" +
KEY_ENERGY + " TEXT NOT NULL);"
);
}
:; PRIMARY KEY、appliance_name TEXT NOT NULLで、appliance_wattageテキストではないNULLenergy_ratesのTEXT NOT NULL)」
は、このコードに関連付けられています
に
KEY_WATTAGE + " TEXT NOT NULL" +
を変更コンマとスペースは( 'System.out.println'を使用して)完全なクエリ文字列を印刷し、あなたはすぐにエラーを発見します。 –エラーmsgと同様に、KEY_ENERGYの前にスペースがありません。 –