2016-08-02 16 views
0

ich erhalte Tabelle keine Spaltennamen „Variablenname“ hat ich bin immer Tabelle keine Spaltennamen „Variablenname“Erste keine solche Spalte Fehler auf Tabelle erstellen und einen Datensatz abzurufen versuchen, von ihm

Tabelle erstellt hat

in DBHelper.java

db.execSQL("CREATE TABLE IF NOT EXISTS " + TB_AssessmentValue.NAME + "(" 
       + TB_AssessmentValue.CL_1_BOOKID + " TEXT " 
       + TB_AssessmentValue.CL_2_ASMNTVALUE + " TEXT " + ");"); 

in LektzDB.java

public static abstract class TB_AssessmentValue{ 
    public static final String NAME = "assessmentvalue"; 
    public static final String CL_1_BOOKID = "book_id"; 
    public static final String CL_2_ASMNTVALUE = "asmntvalue"; 
} 

DIE OPEARTIONS FÜR DELETE INSERT VERWENDET UND ERHALTEN

in ReaderDB.java

public void deleteAssessmentValue(Context context) { 
    try { 
     Log.i("tag123", "msgdelete1"); 
     DBHelper dbh = new DBHelper(context, LektzDB.DB_NAME, null, 
       LektzDB.DB_VERSION); 
     SQLiteDatabase db = dbh.getWritableDatabase(); 
     db.execSQL("DELETE FROM " + TB_AssessmentValue.NAME); 
     db.close(); 
     dbh.close(); 
     Log.i("tag123", "msgdelete2"); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

public void insertAssessmentValue(Context context, String id,String assmentvalue) { 
    DBHelper dbh = new DBHelper(context, LektzDB.DB_NAME, null, 
      LektzDB.DB_VERSION); 
    SQLiteDatabase db = dbh.getWritableDatabase(); 
    try { 
     ContentValues cv = new ContentValues(); 
     cv.put(TB_AssessmentValue.CL_1_BOOKID, id); 
     cv.put(TB_AssessmentValue.CL_2_ASMNTVALUE, assmentvalue); 
     db.insert(TB_AssessmentValue.NAME, null, cv); 
     db.close(); 
    } catch (Exception ex) { 
     ex.printStackTrace(); 
    } 
} 

public String getContact(Context context , String id) { 
    DBHelper dbh = new DBHelper(context , LektzDB.DB_NAME, null, 
     LektzDB.DB_VERSION); 
SQLiteDatabase db = dbh.getReadableDatabase(); 
    String asmntValue = ""; 
    try{ 
     Cursor cursor = db. 
       rawQuery("select * from "+ TB_AssessmentValue.NAME +" where _id = 1", new String[] { id }); 

     if(cursor.getCount() > 0) { 
      cursor.moveToFirst(); 
      asmntValue = cursor.getString(cursor.getColumnIndex(TB_AssessmentValue.CL_2_ASMNTVALUE)); 

     } 
     cursor.close(); 
     return asmntValue; 
    }finally { 

    } 
} 

und diese durch

Ausführung

in Fragment.java

     ReaderDB rdb = new ReaderDB(); 
       rdb.insertAssessmentValue(getContext(),bid, asmntValue); 
       rdb.insertAssessmentValue(getContext(),bid, asmntValue); 
        String a = rdb.getContact(getContext(), bid); 

in Logcat

08-03 10:02:07.627: E/SQLiteLog(20321): (1) table assessmentvalue has no column named asmntvalue 
08-03 10:02:07.667: E/SQLiteDatabase(20321): Error inserting asmntvalue=[{"id":"1","question_type":"","added_time":"1470197096","chapter_id":"1","book_id":"64","mark":"1","user_id":"1","dragValues":"","option_id":"1","notes":"","question_id":"1","matchOption":""},{"id":"2","question_type":"","added_time":"1470197098","chapter_id":"1","book_id":"64","mark":"0","user_id":"1","dragValues":"","option_id":"1","notes":"","question_id":"2","matchOption":""},{"id":"3","question_type":"match","added_time":"1470197160","chapter_id":"1","book_id":"64","mark":"2","user_id":"1","dragValues":"","option_id":"1","notes":"","question_id":"1","matchOption":"[5,2,1,4,3]"},{"id":"4","question_type":"drag","added_time":"1470197139","chapter_id":"1","book_id":"64","mark":"0","user_id":"1","dragValues":"[0,5,2,1,4,3]","option_id":"1","notes":"","question_id":"1","matchOption":""},{"id":"5","question_type":"hint","added_time":"1470197096","chapter_id":"1","book_id":"64","mark":"1","user_id":"1","dragValues":null,"option_id":"1","notes":"Kkkkkkkkkkkkkd,Aeldata1jjjjnjnj,Aeldata2hghgh,Aeldata333,Aeldata4hjbhjbjnj,Aeldata5,Aeldata6!bhjjnn","question_id":"1","matchOption":null}] book_id=64 
08-03 10:02:07.667: E/SQLiteDatabase(20321): android.database.sqlite.SQLiteException: table assessmentvalue has no column named asmntvalue (code 1): , while compiling: INSERT INTO assessmentvalue(asmntvalue,book_id) VALUES (?,?) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1113) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:686) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1573) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1445) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at com.aeldata.eduflex.db.ReaderDB.insertAssessmentValue(ReaderDB.java:78) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at com.aeldata.eduflex.fragment.DoublePageFragment.loadPage(DoublePageFragment.java:762) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at com.aeldata.eduflex.fragment.DoublePageFragment.onCreateView(DoublePageFragment.java:254) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1962) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1248) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1613) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:570) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.support.v4.view.ViewPager.populate(ViewPager.java:1106) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.support.v4.view.ViewPager.populate(ViewPager.java:952) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1474) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.view.View.measure(View.java:16482) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:681) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.view.View.measure(View.java:16482) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5055) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.view.View.measure(View.java:16482) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5055) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1435) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.widget.LinearLayout.measureVertical(LinearLayout.java:720) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.widget.LinearLayout.onMeasure(LinearLayout.java:592) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.view.View.measure(View.java:16482) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5055) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2560) 
08-03 10:02:07.667: E/SQLiteDatabase(20321): at android.view.View.measure(Vie 
08-03 10:02:07.667: I/tag123(20321): msginsert2 
08-03 10:02:07.667: I/tag123(20321): msginsertsuccess 
08-03 10:02:07.677: I/tag123(20321): msginsert1 
08-03 10:02:07.677: E/SQLiteLog(20321): (1) table assessmentvalue has no column named asmntvalue 
08-03 10:02:07.677: E/SQLiteDatabase(20321): Error inserting asmntvalue=[{"id":"1","question_type":"","added_time":"1470197096","chapter_id":"1","book_id":"64","mark":"1","user_id":"1","dragValues":"","option_id":"1","notes":"","question_id":"1","matchOption":""},{"id":"2","question_type":"","added_time":"1470197098","chapter_id":"1","book_id":"64","mark":"0","user_id":"1","dragValues":"","option_id":"1","notes":"","question_id":"2","matchOption":""},{"id":"3","question_type":"match","added_time":"1470197160","chapter_id":"1","book_id":"64","mark":"2","user_id":"1","dragValues":"","option_id":"1","notes":"","question_id":"1","matchOption":"[5,2,1,4,3]"},{"id":"4","question_type":"drag","added_time":"1470197139","chapter_id":"1","book_id":"64","mark":"0","user_id":"1","dragValues":"[0,5,2,1,4,3]","option_id":"1","notes":"","question_id":"1","matchOption":""},{"id":"5","question_type":"hint","added_time":"1470197096","chapter_id":"1","book_id":"64","mark":"1","user_id":"1","dragValues":null,"option_id":"1","notes":"Kkkkkkkkkkkkkd,Aeldata1jjjjnjnj,Aeldata2hghgh,Aeldata333,Aeldata4hjbhjbjnj,Aeldata5,Aeldata6!bhjjnn","question_id":"1","matchOption":null}] book_id=64 
08-03 10:02:07.677: E/SQLiteDatabase(20321): android.database.sqlite.SQLiteException: table assessmentvalue has no column named asmntvalue (code 1): , while compiling: INSERT INTO assessmentvalue(asmntvalue,book_id) VALUES (?,?) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1113) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:686) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1573) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1445) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at com.aeldata.eduflex.db.ReaderDB.insertAssessmentValue(ReaderDB.java:78) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at com.aeldata.eduflex.fragment.DoublePageFragment.loadPage(DoublePageFragment.java:764) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at com.aeldata.eduflex.fragment.DoublePageFragment.onCreateView(DoublePageFragment.java:254) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1962) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1248) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1613) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:570) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.support.v4.view.ViewPager.populate(ViewPager.java:1106) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.support.v4.view.ViewPager.populate(ViewPager.java:952) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1474) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.view.View.measure(View.java:16482) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:681) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.view.View.measure(View.java:16482) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5055) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.view.View.measure(View.java:16482) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5055) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1435) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.widget.LinearLayout.measureVertical(LinearLayout.java:720) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.widget.LinearLayout.onMeasure(LinearLayout.java:592) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.view.View.measure(View.java:16482) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5055) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2560) 
08-03 10:02:07.677: E/SQLiteDatabase(20321): at android.view.View.measure(Vie 
08-03 10:02:07.677: I/tag123(20321): msginsert2 
08-03 10:02:07.677: I/tag123(20321): msginsertsuccess 
08-03 10:02:07.677: I/tag123(20321): msgget1 
+1

Beitrag voll * Stack-Trace *. –

Antwort

1

Sie haben beim Erstellen der Tabelle ein Komma vergessen.

SQL CREATE TABLE Syntax

CREATE TABLE table_name 
(
column_name1 data_type(size), 
column_name2 data_type(size), 
column_name3 data_type(size), 
.... 
); 

Info ab: http://www.w3schools.com/sql/sql_create_table.asp

es so etwas wie das sein sollte:

db.execSQL("CREATE TABLE IF NOT EXISTS " + TB_AssessmentValue.NAME + "(" 
       + TB_AssessmentValue.CL_1_BOOKID + " TEXT, " 
       + TB_AssessmentValue.CL_2_ASMNTVALUE + " TEXT " + ")"); 
+0

Änderungen durchgeführt, aber gleicher Fehler 08-02 17: 55: 11.035: E/SQLiteLog (1303): (1) Tabelle assessmentvalue hat keine Spalte mit dem Namen asmntvalue –

+0

Haben Sie die Daten Ihrer App gelöscht, bevor Sie den neuen Code erneut ausführen? –

+0

ja aber wieder gleicher Fehler –

1

In getContact() Sie zwei Fehler gemacht haben,

Ändern Sie diesen Code

Cursor cursor = db. 
       rawQuery("select * from TB_AssessmentValue where _id = 1", new String[] { id }); 

Um

Cursor cursor = db. 
        rawQuery("select * from "+ TB_AssessmentValue.NAME +" where _id = 1", new String[] { id }); 

Und ähnlich den folgenden Code

asmntValue = cursor.getString(cursor.getColumnIndex(TB_AssessmentValue.CL_2_ASMNTVALUE) 

zu aktualisieren und schließlich die Abfrage ist falsch es muss beendet werden; wie folgt

db.execSQL("CREATE TABLE IF NOT EXISTS " + TB_AssessmentValue.NAME + "(" 
      + TB_AssessmentValue.CL_1_BOOKID + " TEXT " 
      + TB_AssessmentValue.CL_2_ASMNTVALUE + " TEXT " + ");"); 

Hoffe, das hilft!

+0

Fehler ist 08-02 17: 55: 11.035: E/SQLiteLog (1303): (1) Tabelle assessmentvalue hat keine Spalte mit dem Namen asmntvalue –

+0

bevorzugte Änderungen, aber gleicher Fehler 08-02 17: 55: 11.035: E/SQLiteLog (1303): (1) table assessmentvalue hat keine Spalte mit dem Namen asmntvalue –

+0

Sie müssen den Code richtig prüfen, da der Fehler nicht gleich bleiben kann. Anfangs wurde der Spaltenname "CL_2_ASMNTVALUE" gefunden und nach der Aktualisierung muss er für die Spalte "asmntvalue" –

0

mit diesen Veränderungen fertig

db.execSQL("CREATE TABLE IF NOT EXISTS " + TB_AssessmentValue.NAME + "(" 
      + TB_AssessmentValue.CL_1_BOOKID + " TEXT," 
      + TB_AssessmentValue.CL_2_ASMNTVALUE + " TEXT " + ")"); 

    Cursor cursor = db.rawQuery("SELECT * FROM " 
       + TB_AssessmentValue.NAME + " where " 
       + TB_AssessmentValue.CL_1_BOOKID + "='"+ id + "'", 
       null); 
+0

Danke für die Unterstützung –