2014-02-16 60 views
0

我想将单个整数值添加到我的SQLite数据库中。问题在于int值在另一个类中,那么如何将这个值添加到我的数据库中,并说明总赢?我只想在里面添加一段数据?如何在SQLite中添加数据Android

public class Database extends SQLiteOpenHelper{ 

public Database(Context applicationContext) { 
    super(applicationContext, "HighScores.db",null, 1); 
} 

@Override //creating database 
public void onCreate(SQLiteDatabase database) { 

    String query = "CREATE TABLE HighScores (totalWins INTEGER)"; 
    database.execSQL(query); 
} 

@Override //if the table exists then drop it 
public void onUpgrade(SQLiteDatabase database, int arg1, int arg2) { 
    String query = "DROP TABLE IF EXISTS HighScores"; 
    database.execSQL(query); 
    onCreate(database); 

} 

//for inserting values 
public void insertHighScores(HashMap<String, String> queryValues) { 
    SQLiteDatabase database = this.getWritableDatabase(); 

    ContentValues values = new ContentValues(); 
    values.put("totalWins",queryValues.get("totalWins")); 

    database.insert("HighScores", null, values); 
    database.close(); 
} 

//for updating values 
public int updateHighScores(HashMap<String, String> queryValues){ 
    SQLiteDatabase database = this.getWritableDatabase(); 

    ContentValues values = new ContentValues(); 
    values.put("totalWins",queryValues.get("totalWins")); 

    return database.update("HighScores", values, "totalWins" + " =?", new String[] 
      {queryValues.get("totalWins")}); 
} 
//return all highscores 
public ArrayList<HashMap<String,String>>getAllHighScores() { 
    ArrayList<HashMap<String, String>> highScoreArrayList = new ArrayList<HashMap<String, String>>(); 

    String selectQuery = "SELECT * FROM HighScores"; 

    SQLiteDatabase database = this.getWritableDatabase(); 

    Cursor MyCursor = database.rawQuery(selectQuery, null); 

    if (MyCursor.moveToFirst()) { 
     do{ 
      HashMap<String, String>highScoresMap = new HashMap<String, String>(); 
      highScoresMap.put("totalWins",MyCursor.getString(0)); 

      highScoreArrayList.add(highScoresMap); 

     }while(MyCursor.moveToNext()); 
    } 
    return highScoreArrayList; 
} 

    } 
+0

当您尝试插入时是否收到错误消息? – janos

+0

我不知道如何插入我还没有尝试插入,因为我不知道如何,为什么数据库有问题? – user3267882

+0

你读过这个吗? http://developer.android.com/training/basics/data-storage/databases.html – janos

回答

0

这个怎么样?

public class SomeOtherClass{ 


Database myDatabase = new Database (this); 

public void editHighScores(int myvalue){ 

    HashMap<String, String> queryValues = new HashMap<String, String>(); 
    queryValues.put("totalWins", myvalue); 

    myDatabase.insertHighScores(queryValues); 
} 
} 
+0

但这是存储一个编辑文本?我有一个int值在另一个它不在一个活动中,我试图将该int值存储到数据库中。 – user3267882

+0

见上面我编辑过,这是你的意思吗? –

相关问题