2011-12-03 18 views
0

データベースに文字列を呼び出す基本データベースがあります。文字列をデータベースに保存するためにボタンをクリックするたびに、私のログ・ネコでデータベースに書き込まなかったというエラーが表示されます。アプリケーションは続行しますが、情報はデータベース内に表示されません。データベースに挿入中にエラーが発生しました

LOGCAT

12-02 16:39:03.551: E/Database(20828): 0.0 
12-02 16:39:03.551: E/Database(20828): 0.0 
12-02 16:39:03.551: E/Database(20828): android.database.sqlite.SQLiteConstraintException: error code 19: constraint failed 
12-02 16:39:03.551: E/Database(20828): at android.database.sqlite.SQLiteStatement.native_execute(Native Method) 
12-02 16:39:03.551: E/Database(20828): at android.database.sqlite.SQLiteStatement.execute(SQLiteStatement.java:61) 
12-02 16:39:03.551: E/Database(20828): at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1591) 
12-02 16:39:03.551: E/Database(20828): at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1435) 
12-02 16:39:03.551: E/Database(20828): at http.www.hotapp.com.timeandlocation.db.Database.createEntryLat(Database.java:76) 
12-02 16:39:03.551: E/Database(20828): at http.www.hotapp.com.timeandlocation.TimeAndLocationActivity.onClick(TimeAndLocationActivity.java:131) 
12-02 16:39:03.551: E/Database(20828): at android.view.View.performClick(View.java:2485) 
12-02 16:39:03.551: E/Database(20828): at android.view.View$PerformClick.run(View.java:9089) 
12-02 16:39:03.551: E/Database(20828): at android.os.Handler.handleCallback(Handler.java:587) 
12-02 16:39:03.551: E/Database(20828): at android.os.Handler.dispatchMessage(Handler.java:92) 
12-02 16:39:03.551: E/Database(20828): at android.os.Looper.loop(Looper.java:123) 
12-02 16:39:03.551: E/Database(20828): at android.app.ActivityThread.main(ActivityThread.java:3806) 
12-02 16:39:03.551: E/Database(20828): at java.lang.reflect.Method.invokeNative(Native Method) 
12-02 16:39:03.551: E/Database(20828): at java.lang.reflect.Method.invoke(Method.java:507) 
12-02 16:39:03.551: E/Database(20828): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
12-02 16:39:03.551: E/Database(20828): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
12-02 16:39:03.551: E/Database(20828): at dalvik.system.NativeStart.main(Native Method) 

入力方法

public long createEntryLat(String slat) { 
    // TODO Auto-generated method stub 

    ContentValues cv = new ContentValues(); 
    cv.put(KEY_LATITUDE, slat); 
    return ourdb.insert(DATABASE_TABLE, null, cv); 

} 

LINE 73

return ourdb.insert(DATABASE_TABLE, null, cv); 

ONCLICK METHOUD

case R.id.button001: 

    lat = (EditText)findViewById(R.id.textLat); 
    String slat = lat.getText().toString(); 
     //String slon = lon.getText().toString(); 

     Database entries = new Database (this); 
     entries.open(); 

     entries.createEntryLat(slat); 
     entries.close(); 

     break; 

LINE 131

Database entries = new Database (this); 

私は私が間違っているのと任意の助けのおかげを愛するだろうか見当がつかない。

+0

テーブルはどのように定義されていますか?特に、どのような制約がありますか? – ruakh

答えて

1

アプリケーションをアンインストールしてから、変更を反映させるために再インストールする必要がありました。

4

スタックの一番上の行は言う:

  • varchar型のカラムがユニークであり、あなたは再び同じ値を挿入しようとしている。

    12-02 16:39:03.551: E/Database(20828): android.database.sqlite.SQLiteConstraintException: error code 19: constraint failed 
    

    あなたが違反している制約があります。など

  • 主キーのようないくつかの他の制約、外部キーを使用し、問題のテーブルの作成SQLを投稿することができますか?

  • 関連する問題