2017-12-13 3 views
-1

이들은 "DatabaseHelper"에서 데이터베이스와 테이블을 작성한 쿼리를 포함하는 두 클래스이며 기본 활동은 "집"이고 변수는 내가 만든 변수입니다 "myDB"그리고 instanciated "DatabaseHelper"클래스에서 oncreate 함수를 호출 ...하지만 언제 내가 내 애플 리케이션을 실행하려고하면 충돌! 또는 PLZ 도움이 나에게 "디버거 지역 8600에 결합 할 수 없습니다"라는 오류 메시지를 제공SQLLite 튜토리얼을 수행 한 후 내 응용 프로그램이 충돌 함

DatabaseHelper :

package com.example.hp.teachme; 

import android.content.Context; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteOpenHelper; 

public class DatabaseHelper extends SQLiteOpenHelper { 

    public static final String DATABASE_NAME = "Teachme.db"; 
    public static final String TABLE_NAME = "prof_table.db"; 
    public static final String COL_1 = "ID"; 
    public static final String COL_2 = "PRENOM"; 
    public static final String COL_3 = "NOM"; 
    public static final String COL_4 = "TELEPHONE"; 
    public static final String COL_5 = "ADRESSE"; 
    public static final String COL_6 = "MATIERE"; 
    public static final String COL_7 = "NIVEAU"; 


    public DatabaseHelper(Context context){ 
     super(context, DATABASE_NAME, null, 1); 
     SQLiteDatabase db = this.getWritableDatabase(); 
    } 

    @Override 
    public void onCreate(SQLiteDatabase db){ 
     db.execSQL("create table " + TABLE_NAME +" (ID INTEGER PRIMARY KEY AUTOINCREMENT, PRENOM TEXT, NOM TEXT, TELEPHONE TEXT, ADRESSE TEXT, MATIERE TEXT, NIVEAU TEXT)"); 
    } 

    @Override 
    public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){ 

     db.execSQL("DROP TABLE IF EXISTS "+TABLE_NAME); 
     onCreate(db); 

    } 
} 

홈 :

package com.example.hp.teachme; 

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 

public class Home extends AppCompatActivity { 
    DatabaseHelper myDb; 

    Button prof,etudiant; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_home); 
     myDb = new DatabaseHelper(this); 


     prof=(Button)findViewById(R.id.homme_prof); 
     etudiant=(Button)findViewById(R.id.homme_etudiant); 


     prof.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       Intent intent=new Intent(Home.this,login.class); 
       startActivity(intent); 
      } 
     }); 

     etudiant.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       Intent intent=new Intent(Home.this,recherche_map.class); 
       startActivity(intent); 
      } 
     }); 

    } 
} 

스택 트레이스 :

   --------- beginning of crash 
12-13 22:49:25.760 1634-1634/com.example.hp.teachme E/AndroidRuntime: FATAL 
EXCEPTION: main 
                    Process: com.example.hp.teachme, PID: 1634 
                    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.hp.teachme/com.example.hp.teachme.Home}: android.database.sqlite.SQLiteException: unknown database prof_table (code 1): , while compiling: create table prof_table.db (ID INTEGER PRIMARY KEY AUTOINCREMENT, PRENOM TEXT, NOM TEXT, TELEPHONE TEXT, ADRESSE TEXT, MATIERE TEXT, NIVEAU TEXT) 
                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2464) 
                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2524) 
                     at android.app.ActivityThread.access$900(ActivityThread.java:154) 
                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1391) 
                     at android.os.Handler.dispatchMessage(Handler.java:102) 
                     at android.os.Looper.loop(Looper.java:234) 
                     at android.app.ActivityThread.main(ActivityThread.java:5526) 
                     at java.lang.reflect.Method.invoke(Native Method) 
                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
                    Caused by: android.database.sqlite.SQLiteException: unknown database prof_table (code 1): , while compiling: create table prof_table.db (ID INTEGER PRIMARY KEY AUTOINCREMENT, PRENOM TEXT, NOM TEXT, TELEPHONE TEXT, ADRESSE TEXT, MATIERE TEXT, NIVEAU TEXT) 
                     at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method) 
                     at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:893) 
                     at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:504) 
                     at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588) 
                     at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58) 
                     at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31) 
                     at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1674) 
                     at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1605) 
                     at com.example.hp.teachme.DatabaseHelper.onCreate(DatabaseHelper.java:27) 
                     at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:251) 
                     at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163) 
                     at com.example.hp.teachme.DatabaseHelper.<init>(DatabaseHelper.java:22) 
                     at com.example.hp.teachme.Home.onCreate(Home.java:18) 
                     at android.app.Activity.performCreate(Activity.java:6285) 
                     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108) 
                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417) 
                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2524)  
                     at android.app.ActivityThread.access$900(ActivityThread.java:154)  
                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1391)  
                     at android.os.Handler.dispatchMessage(Handler.java:102)  
                     at android.os.Looper.loop(Looper.java:234)  
                     at android.app.ActivityThread.main(ActivityThread.java:5526)  
                     at java.lang.reflect.Method.invoke(Native Method)  
                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  
+0

가능한 복제가 불행하게도 MyApp를이 중지되었습니다. 어떻게 해결할 수 있습니까?] (https://stackoverflow.com/questions/23353173/unfortunately-myapp-has-stopped-how-can-i-solve-this) –

+0

위의 링크를 읽고 방법을 찾는 방법에 대한 정보를 얻을 수 있습니다. 오류의 원인. –

답변

1

"DatabaseHelper"클래스에서이 줄을 간단히 수정하여이 문제를 해결했습니다.

이에
public static final String TABLE_NAME = "prof_table.db"; 

및 변경 :

public static final String TABLE_NAME = "prof_table"; 

바보 같은 실수 정말 롤 [의

관련 문제