Sucky Posté(e) 24 mai 2010 Share Posté(e) 24 mai 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? Lien vers le commentaire Partager sur d’autres sites More sharing options...
arnouf Posté(e) 27 mai 2010 Share Posté(e) 27 mai 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(); } Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.