IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Base de données


Sujet :

Android

  1. #1
    Membre à l'essai
    Homme Profil pro
    En formation dévellopeur
    Inscrit en
    Août 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : En formation dévellopeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 27
    Points : 19
    Points
    19
    Par défaut Base de données
    Bonjours,
    Me revoila avec mon appli android pour mon stage.
    L'appli doit enregistrer des coordonnées de restaurateurs en local. Les données seront téléchargées d'une base de données distantes mais on en est pas la.
    Pour l'instant j'ai suivi ce tuto pour créer la base de données locale.

    Je vous poste le code mais pas d'urgence, je ne m'y remettrai pas avant demain toutefois si vous avez des suggestions n'hésitez pas.

    Avant que vous ne lisiez tous je vous informe qu'un message d'erreur dans les logs me dit "impossible de faire l'insert: la table favorits not exit"

    Je me demande s'il n'y a pas une erreeu au niveau de la methode onCreate du BaseSQLite.java. D'ou viens cette "db" qu'elle prends en arguments?

    le MainActivity.java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    public class MainActivity extends Activity {
     
    	@Override
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
     
                    Restaurateur restaurateur1 = new Restaurateur(1, "chez bob", "brasserie", 34, "allée", "de la grande avenue", 12345,"Ville1");
    		Restaurateur restaurateur2 = new Restaurateur(2, "La grande Fourchette", "gastronomique", 28, "rue", "du petit chemin", 67890, "Ville2");
     
    		RestaurateursBdd uneRestaurateursBdd= new RestaurateursBdd(this);
    		uneRestaurateursBdd.open();
     
    		uneRestaurateursBdd.insertReataurateur(restaurateur1);
    		uneRestaurateursBdd.insertReataurateur(restaurateur2);
     
    		//On verifi que l'on a bien créé les deux restaurateurs en les extrayant
    		Restaurateur restaurateur1FromBdd = uneRestaurateursBdd.getRestaurateurWithNom(restaurateur1.getNomRestaurateur());
    		if (restaurateur1FromBdd != null) {
    			Toast.makeText(this, restaurateur1FromBdd.getNomRestaurateur(), Toast.LENGTH_LONG).show();
    		}
     
    	}
    }
    Le BaseSQLite.java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    class BaseSQLite extends SQLiteOpenHelper {
     
    	private static final String tableFavorits = "favorits";
    	private static final String colId = "id";
    	private static final String colNomRestaurateur = "nomRestaurateur";
    	private static final String colNoRue = "noRue";
    	private static final String colTypeRue = "typeRue";
    	private static final String colNomRue = "nomRue";
    	private static final String colCodePostal = "codePostal";
    	private static final String colNomVille = "nomVille";
    	private static final String colTypeReataurant = "typeRestaurant";
     
    	private static final String createTalbe = "CREATE TABLE " + tableFavorits + " (" + colId + " INTEGER PRIMARY KEY AUTOINCREMENT, " + colNomRestaurateur + " TEXT NOT NULL, " + colNoRue + " INTEGER NOT NULL, " + colTypeRue + " TEXT NOT NULL, " + colNomRue + " TEXT NOT NULL, " + colCodePostal + " INTEGER NOT NULL, " + colNomVille + " TEXT NOT NULL, " + colTypeReataurant + " TEXT);";
     
     
    	public BaseSQLite(Context context, String name, CursorFactory factory,
    			int version) {
    		super(context, name, factory, version);
    		// TODO Auto-generated constructor stub
    	}
     
    	@Override
    	public void onCreate(SQLiteDatabase db) {
    		db.execSQL(createTalbe);
     
    	}
     
    	@Override
    	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    		db.execSQL("drop table " + tableFavorits + ";");
    		onCreate(db);
    	}
     
    }
    Le Restaurateur.java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    public class Restaurateur {
     
     
    	private int idRestaurateur;
    	private String nomRestaurateur;
    	private String typeRestaurant;
    	private int noRue;
    	private String typeRue;
    	private String nomRue;
    	private int codePostal;
    	private String nomville;
     
     
    	public Restaurateur(int idRestaurateur, String nomRestaurateur,
    			String typeRestaurant, int noRue, String typeRue, String nomRue,
    			int codePostal, String nomville) {
    		super();
    		this.idRestaurateur = idRestaurateur;
    		this.nomRestaurateur = nomRestaurateur;
    		this.typeRestaurant = typeRestaurant;
    		this.noRue = noRue;
    		this.typeRue = typeRue;
    		this.nomRue = nomRue;
    		this.codePostal = codePostal;
    		this.nomville = nomville;
    	}
     
     
    	public Restaurateur() {
     
    	}
     
     
    	//Getters & setters
    	public int getCodePostal() {
    		return codePostal;
    	}
     
    	public void setCodePostal(int codePostal) {
    		this.codePostal = codePostal;
    	}
     
    	public String getNomville() {
    		return nomville;
    	}
     
    	public void setNomville(String nomville) {
    		this.nomville = nomville;
    	}
     
    	public int getIdRestaurateur() {
    		return idRestaurateur;
    	}
    	public void setIdRestaurateur(int idRestaurateur) {
    		this.idRestaurateur = idRestaurateur;
    	}
    	public String getNomRestaurateur() {
    		return nomRestaurateur;
    	}
    	public void setNomRestaurateur(String nomRestaurateur) {
    		this.nomRestaurateur = nomRestaurateur;
    	}
    	public String getTypeRestaurant() {
    		return typeRestaurant;
    	}
    	public void setTypeRestaurant(String typeRestaurant) {
    		this.typeRestaurant = typeRestaurant;
    	}
    	public int getNoRue() {
    		return noRue;
    	}
    	public void setNoRue(int noRue) {
    		this.noRue = noRue;
    	}
    	public String getTypeRue() {
    		return typeRue;
    	}
    	public void setTypeRue(String typeRue) {
    		this.typeRue = typeRue;
    	}
    	public String getNomRue() {
    		return nomRue;
    	}
    	public void setNomRue(String nomRue) {
    		this.nomRue = nomRue;
    	}
     
    	//toString
    	@Override
    	public String toString() {
    		return "Restaurateur [idRestaurateur=" + idRestaurateur
    				+ ", nomRestaurateur=" + nomRestaurateur + ", typeRestaurant="
    				+ typeRestaurant + ", noRue=" + noRue + ", typeRue=" + typeRue
    				+ ", nomRue=" + nomRue + "]";
    	}
     
     
    }
    Et le RestaurateursBdd.java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    public class RestaurateursBdd {
    	private static final int versionBdd = 1;
    	private static final String nomBdd = "Restaurateurs";
    	private static final String tableFavorits = "favorits";
    	private static final String colId = "id";
    	private static final int numColId = 0;
    	private static final String colNomRestaurateur = "nomRestaurateur";
    	private static final int numColNomRestaurateur = 1;
    	private static final String colNoRue = "noRue";
    	private static final int numColNoRue = 2;
    	private static final String colNomRue = "nomRue";
    	private static final int numColNomRue = 3;
    	private static final String colCodePostal = "codePostal";
    	private static final int numColCodePostal = 4;
    	private static final String colNomVille = "nomVille";
    	private static final int NumColNomVille = 5;
    	private static final String colTypeRestaurant = "typeRestaurant";
    	private static final int NumColTypeRestaurant = 6;
    	private static final String colTypeRue = "typeRue";
    	private static final int numColTypeRue = 7;
     
    	private SQLiteDatabase bdd;
    	private BaseSQLite maBaseSqlIte;
     
     
    	public RestaurateursBdd(Context context) {
    		maBaseSqlIte = new BaseSQLite(context, nomBdd, null, versionBdd);
    	}
     
    	public void open() {
    		//On ouvre la base en ecriture
    		bdd = maBaseSqlIte.getWritableDatabase();
    	}
    	public void close(){
    		//on ferme l'accès à la BDD
    		bdd.close();
    	}
    	public SQLiteDatabase getBDD(){
    		return bdd;
    	}
     
    	public long insertReataurateur(Restaurateur restaurateur) {
    		ContentValues values = new ContentValues();
    		//Ajout des valeures
    		values.put(colNomRestaurateur, restaurateur.getNomRestaurateur());
    		values.put(colNoRue, restaurateur.getNoRue());
    		values.put(colTypeRue, restaurateur.getTypeRue());
    		values.put(colNomRue, restaurateur.getNomRue());
    		values.put(colTypeRestaurant, restaurateur.getTypeRestaurant());
    		values.put(colCodePostal, restaurateur.getCodePostal());
    		values.put(colNomVille, restaurateur.getNomville());
    		values.put(colId, restaurateur.getIdRestaurateur());
     
    		return bdd.insert(tableFavorits, null, values);
     
    	}
     
    	public int removeRestaurateurWithId(int id) {
    		return bdd.delete(tableFavorits, colId + "=" + id, null);
    	}
     
    	public Restaurateur getRestaurateurWithNom(String nomRestaurateur) {
    		Cursor c = bdd.query(tableFavorits, new String[] {colNomRestaurateur, colNoRue, colTypeRue, colNomRue, colTypeRestaurant, colCodePostal, colNomVille}, colNomRestaurateur + " like \"" + nomRestaurateur + "\"", null, null, null, null);
    		return cursorToRestaurateur(c);
    	}
     
    	private Restaurateur cursorToRestaurateur(Cursor c) {
    		if (c.getCount() == 0)
    			return null;
     
    		//On se place sur le premier element
    		c.moveToFirst();
    		Restaurateur unRestaurateur = new Restaurateur();
    		//On affecte au nouveau restauraeur ses valeures
    		unRestaurateur.setIdRestaurateur(c.getInt(numColId));
    		unRestaurateur.setCodePostal(c.getInt(numColCodePostal));
    		unRestaurateur.setNomRestaurateur(c.getString(numColNomRestaurateur));
    		unRestaurateur.setNomRue(c.getString(numColNomRue));
    		unRestaurateur.setNomville(c.getString(NumColNomVille));
    		unRestaurateur.setNoRue(c.getInt(numColNoRue));
    		unRestaurateur.setTypeRestaurant(c.getString(NumColTypeRestaurant));
    		unRestaurateur.setTypeRue(c.getString(numColTypeRue));
    		//On ferme le curseur
    		c.close();
    		return unRestaurateur;
    		}
     
    }

  2. #2
    Membre à l'essai
    Homme Profil pro
    En formation dévellopeur
    Inscrit en
    Août 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : En formation dévellopeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    Bonjour à tous,
    petit up pour mon message.
    j'ai un peu avancé je n'ai plus de "table favorits not exist"
    mais un "bad request for fields slots 0,7. numRows = 3, numColumns = 7"
    je vais chercher un peu mais si quelqu'un veux m'aider je le remercie beaucoup.

  3. #3
    Membre à l'essai
    Homme Profil pro
    En formation dévellopeur
    Inscrit en
    Août 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : En formation dévellopeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    J'avance un peu c'est la requête select qui ne fonctionne pas.
    J’espère que je ne parle pas tout seul.

  4. #4
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    En soit, non, tu n'écris pas seul.

    Je me suis servi de ce tutoriel l'année dernière, et ait eu beaucoup de souci avec.
    Utiliser ce genre de chose : private static final int numColId = 0; est très casse-gueule. Des champs inversés dans la requête, une refactorisation (et un oubli)... ce genre de chose peut vite mener à de gros problèmes.

    Je te conseils plutôt d'utiliser la méthode Cursor#getColumnIndex(String) ou encore Cursor#getColumnIndexOrThrow(String) pour récupérer ces infos. Beaucoup moins casse-gueule.

    Pour les problèmes de DB, c'est plus facile de t'aider si tu fournis un schéma, ainsi que la requête.
    Pour les problèmes en Java (en général), si tu as une exception, fournis-là

    Pour ton souci actuel, je te conseils de bien regarder ta requête, ainsi que le curseur obtenu en réponse.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  5. #5
    Membre à l'essai
    Homme Profil pro
    En formation dévellopeur
    Inscrit en
    Août 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : En formation dévellopeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    Merci beaucoup de ta réponse.
    j'ai moddifié et testé:
    maintenant j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Bad request for field slot 0,-1. numRows = 10, numColumns = 7
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.langIllegalStateExeption: get field slot from row 0 col -1 failed
    Le column -1 est bizare mais je crois que j'avais la même exception avec la column 7.

  6. #6
    Membre à l'essai
    Homme Profil pro
    En formation dévellopeur
    Inscrit en
    Août 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : En formation dévellopeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    au fait j'ai modifié comme ça je ne suis pas trop sûr de moi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    private Restaurateur cursorToRestaurateur(Cursor c) {
    		if (c.getCount() == 0)
    			return null;
     
    		//On se place sur le premier element
    		c.moveToFirst();
    		Restaurateur unRestaurateur = new Restaurateur();
    		//On affecte au nouveau restauraeur ses valeures
    		unRestaurateur.setIdRestaurateur(c.getInt(c.getColumnIndex(colId)));
    		unRestaurateur.setCodePostal(c.getInt(c.getColumnIndex(colCodePostal)));
    		unRestaurateur.setNomRestaurateur(c.getString(c.getColumnIndex(colNomRestaurateur)));
    		unRestaurateur.setNomRue(c.getString(c.getColumnIndex(colNomRue)));
    		unRestaurateur.setNomville(c.getString(c.getColumnIndex(colNomVille)));
    		unRestaurateur.setNoRue(c.getInt(c.getColumnIndex(colNoRue)));
    		unRestaurateur.setTypeRestaurant(c.getString(c.getColumnIndex(colTypeRestaurant)));
    		unRestaurateur.setTypeRue(c.getString(c.getColumnIndex(colTypeRue)));
    		//On ferme le curseur
    		c.close();
    		return unRestaurateur;
    		}

  7. #7
    Membre à l'essai
    Homme Profil pro
    En formation dévellopeur
    Inscrit en
    Août 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : En formation dévellopeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    pour le schéma il n'y à qu'une table, celle qui est decrite dans le fichier.

  8. #8
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Quelle est la requête SQL ?
    Tu devrais pouvoir la voir à l'aide du débogueur dans le curseur.

    Merci de donner le stacktrace complet (donc pas que le nom de l'erreur), ainsi que d'indiquer la ligne pointée par celui-ci.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  9. #9
    Membre à l'essai
    Homme Profil pro
    En formation dévellopeur
    Inscrit en
    Août 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : En formation dévellopeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    la requete est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public Restaurateur getRestaurateurWithNom(String nomRestaurateur) {
    		Cursor c = bdd.query(tableFavorits, new String[] {colNomRestaurateur, colNoRue, colTypeRue, colNomRue, colCodePostal, colNomVille, colTypeRestaurant}, colNomRestaurateur + " LIKE \"" + nomRestaurateur + "\"", null, null, null, null);
    		return cursorToRestaurateur(c);
    	}
    et le log:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    11-14 11:52:30.397: E/CursorWindow(372): Bad request for field slot 0,-1. numRows = 1, numColumns = 7
    11-14 11:52:30.397: D/AndroidRuntime(372): Shutting down VM
    11-14 11:52:30.407: W/dalvikvm(372): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
    11-14 11:52:30.417: E/AndroidRuntime(372): FATAL EXCEPTION: main
    11-14 11:52:30.417: E/AndroidRuntime(372): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.cafenoir.test/com.cafenoir.test.MainActivity}: java.lang.IllegalStateException: get field slot from row 0 col -1 failed
    11-14 11:52:30.417: E/AndroidRuntime(372): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
    11-14 11:52:30.417: E/AndroidRuntime(372): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    11-14 11:52:30.417: E/AndroidRuntime(372): 	at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    11-14 11:52:30.417: E/AndroidRuntime(372): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    11-14 11:52:30.417: E/AndroidRuntime(372): 	at android.os.Handler.dispatchMessage(Handler.java:99)
    11-14 11:52:30.417: E/AndroidRuntime(372): 	at android.os.Looper.loop(Looper.java:123)
    11-14 11:52:30.417: E/AndroidRuntime(372): 	at android.app.ActivityThread.main(ActivityThread.java:4627)
    11-14 11:52:30.417: E/AndroidRuntime(372): 	at java.lang.reflect.Method.invokeNative(Native Method)
    11-14 11:52:30.417: E/AndroidRuntime(372): 	at java.lang.reflect.Method.invoke(Method.java:521)
    11-14 11:52:30.417: E/AndroidRuntime(372): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    11-14 11:52:30.417: E/AndroidRuntime(372): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    11-14 11:52:30.417: E/AndroidRuntime(372): 	at dalvik.system.NativeStart.main(Native Method)
    11-14 11:52:30.417: E/AndroidRuntime(372): Caused by: java.lang.IllegalStateException: get field slot from row 0 col -1 failed
    11-14 11:52:30.417: E/AndroidRuntime(372): 	at android.database.CursorWindow.getLong_native(Native Method)
    11-14 11:52:30.417: E/AndroidRuntime(372): 	at android.database.CursorWindow.getInt(CursorWindow.java:434)
    11-14 11:52:30.417: E/AndroidRuntime(372): 	at android.database.AbstractWindowedCursor.getInt(AbstractWindowedCursor.java:93)
    11-14 11:52:30.417: E/AndroidRuntime(372): 	at com.cafenoir.test.RestaurateursBdd.cursorToRestaurateur(RestaurateursBdd.java:74)
    11-14 11:52:30.417: E/AndroidRuntime(372): 	at com.cafenoir.test.RestaurateursBdd.getRestaurateurWithNom(RestaurateursBdd.java:63)
    11-14 11:52:30.417: E/AndroidRuntime(372): 	at com.cafenoir.test.MainActivity.onCreate(MainActivity.java:59)
    11-14 11:52:30.417: E/AndroidRuntime(372): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    11-14 11:52:30.417: E/AndroidRuntime(372): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
    11-14 11:52:30.417: E/AndroidRuntime(372): 	... 11 more
    Merci de m'aider.

  10. #10
    Membre à l'essai
    Homme Profil pro
    En formation dévellopeur
    Inscrit en
    Août 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : En formation dévellopeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    je vais faire une pause et m'y remettre après manger.

  11. #11
    Membre à l'essai
    Homme Profil pro
    En formation dévellopeur
    Inscrit en
    Août 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : En formation dévellopeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    bonne nouvelle, ça fonctionne si je commente cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //unRestaurateur.setIdRestaurateur(c.getInt(c.getColumnIndex(colId)));

  12. #12
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Normal, tu ne demandes pas la colonne "colId" dans la requête, mais tu l'utilises (sans tester le numéro de colonne) dans cursorTo....
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  13. #13
    Membre à l'essai
    Homme Profil pro
    En formation dévellopeur
    Inscrit en
    Août 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : En formation dévellopeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    Un grand Merci!
    Je pensait avoir recompté 4 fois le nombre de champs partout. Tout ça pour une erreur aussi bête. Mais bon ça marche. Encore merci.
    Je passe en résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème Base de données et CRecordSet
    Par LE CHAKAL dans le forum MFC
    Réponses: 3
    Dernier message: 20/08/2002, 11h59
  2. connexion base de donné
    Par saidi dans le forum MFC
    Réponses: 3
    Dernier message: 07/08/2002, 22h22
  3. [Concept] Stabilité d'une base de donnée
    Par lassmust dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 03/07/2002, 16h16
  4. Bases de données
    Par dev dans le forum C++Builder
    Réponses: 4
    Dernier message: 01/07/2002, 22h55
  5. associer une base de données(access) a un dbgrid
    Par ange1708 dans le forum MFC
    Réponses: 3
    Dernier message: 11/06/2002, 12h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo