2017-07-18 47 views
-1

我有兩個活動,一個是數據庫幫助程序,另一個是主要活動。沒有sytax錯誤,但每當我按下接受按鈕(accButton),我的應用程序停止工作。 請幫我出去謝謝。點擊AccButton時SQLite stopps工作(AcceptButton)

守則DBhelper類

@Override 
    public void onCreate(SQLiteDatabase db) { 
     db.execSQL("create table" + TABLE_NAME + "create table LMSLiteDB(ID text primary key not null," + 
       "Password text not null, Name text not null, VU-Email text not null, City text not null," + 
       "Country text not null, Selected_Course text not null);"); 

    } 

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


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

    public boolean insertValues(String id, String autoPass, String name, String mail, String city, String contry , String selectedCourse) { 
     SQLiteDatabase db = this.getWritableDatabase(); 
     ContentValues values = new ContentValues(); 
     values.put(COLUMN_ID, id); 
     values.put(COLUMN_PASSWORD, autoPass); 
     values.put(COLUMN_Name, name); 
     values.put(COLUMN_VUEmail, mail); 
     values.put(COLUMN_CITY, city); 
     values.put(COLUMN_COUNTRY, contry); 
     values.put(COLUMN_SELECTEDCOURSE, selectedCourse); 

     long result = db.insert(TABLE_NAME, null, values); 
     if (result == -1) 
      return false; 
     else 
      return true; 
    } 

代碼主要活動

public void onAccClick(View view) { 

     TextView tfName = (TextView) findViewById(R.id.fName); 
     TextView tEmail = (TextView) findViewById(R.id.vuEmail); 
     TextView tId = (TextView) findViewById(R.id.id); 
     TextView tPassword = (TextView) findViewById(R.id.password); 
     TextView tCity = (TextView) findViewById(R.id.city); 
     TextView tContry = (TextView) findViewById(R.id.contry); 
     TextView tItem = (TextView) findViewById(R.id.item); 


     boolean isInserted = db.insertValues(tId.getText().toString(), tPassword.getText().toString(), tfName.getText().toString(), 
       tEmail.getText().toString(), tCity.getText().toString(), tContry.getText().toString(), 
       tItem.getText().toString()); 
     if (isInserted = true) { 
      Toast.makeText(ACCEPT.this, "Data Inserted", Toast.LENGTH_LONG).show(); 
     } else { 
      Toast.makeText(ACCEPT.this, "Data not Inserted", Toast.LENGTH_LONG).show(); 
     } 
    } 
} 
+3

'我的應用程序停止working.'顯示日誌和代碼 –

+0

相關部分 「停止工作」 從來沒有開始工作作爲問題描述。請閱讀[問],如何構建[mcve],尤其是[爲什麼「有人可以幫助我?」不是一個真正的問題?](http://meta.stackoverflow.com/q/284236) – EJoshuaS

回答

0

我猜你的表未正確創建。更新你的創建表語句。

用途:

@Override 
    public void onCreate(SQLiteDatabase db) { 
     db.execSQL("create table " + TABLE_NAME + " (ID text primary key not null, " + 
       "Password text not null, Name text not null, VU-Email text not null, City text not null," + 
       " Country text not null, Selected_Course text not null);"); 

    } 

相反的:

@Override 
    public void onCreate(SQLiteDatabase db) { 
     db.execSQL("create table" + TABLE_NAME + "create table LMSLiteDB(ID text primary key not null," + 
       "Password text not null, Name text not null, VU-Email text not null, City text not null," + 
       "Country text not null, Selected_Course text not null);"); 

    }