Sucky Posted May 24, 2010 Share Posted May 24, 2010 Bonjour a tous, je suis un débutant android, et je me retrouve face a un petit problème. J'ai voulu introduire une BDD local a mon application(un jeu) afin de stocquer le score des joueurs. J'ai trouver un petit tuto sur le net qui explique comment crée une table avec une colonne. Voici le code. package whereis.apk; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteStatement; import android.util.Log; import java.util.ArrayList; import java.util.List; public class DataHelper { private static final String DATABASE_NAME = "example.db"; private static final int DATABASE_VERSION = 1; private static final String TABLE_NAME = "table1"; private Context context; private SQLiteDatabase db; private SQLiteStatement insertStmt; private static final String INSERT = "insert into " + TABLE_NAME + "(name) values (?)"; public DataHelper(Context context) { this.context = context; OpenHelper openHelper = new OpenHelper(this.context); db = openHelper.getWritableDatabase(); insertStmt = db.compileStatement(INSERT); } public long insert(String name) { insertStmt.bindString(1, name); return insertStmt.executeInsert(); } public void deleteAll() { db.delete(TABLE_NAME, null, null); } public List selectAll() { List list = new ArrayList(); String[] colonnes={"name"}; Cursor cursor = db.query(TABLE_NAME, colonnes, null, null, null, null, "name desc"); if (cursor.moveToFirst()) { do { list.add(cursor.getString(0)); } while (cursor.moveToNext()); } if (cursor != null && !cursor.isClosed()) { cursor.close(); } return list; } private static class OpenHelper extends SQLiteOpenHelper { OpenHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE " + TABLE_NAME + "(id INTEGER PRIMARY KEY, name TEXT,prenom TEXT)"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.w("Example", "Upgrading database, this will drop tables and recreate."); db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); onCreate(db); } } } Cependant, je n'arrive pas a insérer un deuxième paramètre a la fonction insert() , ce deuxième paramètre contienterais le prenom de l'utilisateur. Comment puis-je faire? Link to comment Share on other sites More sharing options...
arnouf Posted May 27, 2010 Share Posted May 27, 2010 cela devrait fonctionner private static final String INSERT = "insert into " + TABLE_NAME + "(name, prenom) values (?, ?)"; public long insert(String name, String prenom) { insertStmt.bindString(1, name); insertStmt.bindString(2, prenom); return insertStmt.executeInsert(); } Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.