2015-10-07 74 views
-4

我有這個問題:我寫了一個應用程序,但SQLiteDatabase無法正常工作。不幸的是,這個程序已停止工作(SQLiteDatabase)

我的數據庫類代碼:

package com.example.frauprinzssapp; 

import android.content.ContentValues; 
import android.content.Context; 
import android.database.DatabaseErrorHandler; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteDatabase.CursorFactory; 
import android.database.sqlite.SQLiteOpenHelper; 

public class database extends SQLiteOpenHelper{ 

public static final String DB_NAME = "users.db"; 
public static final String DB_TABLENAME = "users_table"; 
public static final String COL_1 = "id"; 
public static final String COL_2 = "name"; 
public static final String COl_3 = "class"; 
public static final String COL_4 = "right"; 

public database(Context context) { 
    super(context, DB_NAME, null, 1); 

} 

@Override 
public void onCreate(SQLiteDatabase db) { 
    db.execSQL("create table "+DB_TABLENAME+"(id INTEGER PRIMARY KEY  AUTOINCREMENT, name TEXT, class TEXT, right INTEGER)"); 
} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    db.execSQL("DROP TABLE IF EXIST "+DB_TABLENAME); 
    onCreate(db); 
} 

public boolean insertdata(String name, String clas){ 
    SQLiteDatabase db = this.getWritableDatabase(); 
    ContentValues cv = new ContentValues(); 
    cv.put(COL_2, name); 
    cv.put(COl_3, clas); 
    cv.put(COL_4, 0); 
    long result = db.insert(DB_TABLENAME, null, cv); 
    if (result == -1){ 
     return false; 
    }else{ 
     return true; 
    } 
} 
} 

主要代碼:

package com.example.frauprinzssapp; 

import java.io.FileOutputStream; 
import java.io.IOException; 
import java.util.ArrayList; 
import java.util.List; 

import android.app.Activity; 
import android.content.Context; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.EditText; 
import android.widget.Toast; 

public class Main extends Activity { 

List<String> addusers = new ArrayList<String>(); 
database myDb; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    myDb = new database(this); 
} 
//-----change view voids----- 
public void main(View view){ 
    setContentView(R.layout.main); 
} 
public void adduser(View view){ 
    setContentView(R.layout.adduser); 
} 
public void removeuser(View view){ 
    setContentView(R.layout.removeuser); 
} 

//------actions------ 
public void add(){ 
    EditText name = (EditText) findViewById(R.id.aun); 
    EditText clas = (EditText) findViewById(R.id.auc); 
    if (name.toString() == null || clas.toString() == null){ 
     Toast.makeText(Main.this, "please fill in all textfields!",  Toast.LENGTH_LONG); 
     return; 
    } 
try{ 
    myDb.insertdata(name.toString(), clas.toString()); 
    Toast.makeText(Main.this, "added user "+name.toString()+"!", Toast.LENGTH_LONG); 
}catch(Exception e){ 
    Toast.makeText(Main.this, "[ERROR] Could not create user maybe its already created!", Toast.LENGTH_LONG); 
} 
} 
public void remove(){ 

} 
public void show(){ 

} 
} 

我用

android:onClick="add" 

使使添加()無效運行 請現在它只是把隨機的東西放入sqlite pleaseseeee幫助

+0

我認爲'公共無效的add()'應改爲'的起作用公共無效添加(查看視圖)' – Wilik

+0

,但現在我有一個問題,它只是放在一些隨機的東西 – Rof

回答

-2

試試吧....

//------actions------ 
public void add(){ 
    EditText name = (EditText) findViewById(R.id.aun); 
    EditText clas = (EditText) findViewById(R.id.auc); 
    String name1 = name.getText().toString(); 
    String clas1 = clas.getText().toString(); 
    if (name1.equals("") || clas1.equals("")){ 
    Toast.makeText(Main.this, "please fill in all textfields!", Toast.LENGTH_LONG); 
    return; 
    } 
    try{ 
    myDb.insertdata(name1, clas1); 
    Toast.makeText(Main.this, "added user "+name1+"!", Toast.LENGTH_LONG); 
    }catch(Exception e){ 
    Toast.makeText(Main.this, "[ERROR] Could not create user maybe its already created!", Toast.LENGTH_LONG); 
    } 
} 
+0

nope不工作 – Rof

+0

張貼您的logcat erorr。 –

+0

我不能把它長到 – Rof

相關問題