2017-01-15 6 views
0

にデータベースを保存するのにEditTextを使用しようとしています。android SQL IllegalStateException

私は関数に値を追加すると、私のexecSQL関数にIllegalStateExceptionをスローします。

私はそれについて何も知らない、どんな助けもありがたく思う。

それは私の作成、データベースのコードです:

@Override 
    public void onCreate(SQLiteDatabase sqLiteDatabase) { 
     getWritableDatabase().execSQL("CREATE TABLE blood " + 
       "(_id INTEGER PRIMARY KEY AUTOINCREMENT, " + 
       "bloodvalue VARCHAR , " + 
       "eattime VARCHAR, " + 
       "blooddate DATETIME NOT NULL)"); 
    } 

それは私の追加ボタンの機能です:

sendBlood = (Button) findViewById(R.id.sendBlood); 
     sendBlood.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       String bloodSugar = editBloodSugar.getText().toString(); 
       String bloodEatTime = editBloodEatTime.getText().toString(); 
       int bloodDate = Integer.parseInt(editBloodDate.getText().toString()); 

       ContentValues values = new ContentValues(); 
       values.put("bloodvalue", bloodSugar); 
       values.put("eattime", bloodEatTime); 
       values.put("blooddate", bloodDate); 
       long id = sqlForBloodSugar.getWritableDatabase().insert("blood", null, values); 
       Log.d("ADD", id + ""); 
      } 
     }); 
+0

スタックトレースしてください –

+0

私だソリューション、注意に感謝。 –

答えて

1

利用sqLiteDatabase.execSQL()代わりのgetWritableDatabase().execSQL()

+0

私はとても愚かです、ありがとう@Vusal Alishov、それは動作します。 –

+0

あなたは大歓迎です。知らない、恥ずべきではない – Vusal

関連する問題