[clos] column 'codeBarre' does not exist - Besoin d'aide - Urgent [SQLite]

Fermé
acppfrance Messages postés 8 Date d'inscription mercredi 15 décembre 2010 Statut Membre Dernière intervention 15 août 2012 - 1 mai 2012 à 12:38
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 1 mai 2012 à 19:01
Bonjour,

Je travaille une application sous Android, cette application permet d'ajouter des produits dans une bdd sous SQLite.

Voilà ma fonction principale


package com.formation.sqlite;

import android.app.ListActivity;
import android.database.Cursor;
import android.os.Bundle;
import android.os.SystemClock;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;

public class SQLiteActivity extends ListActivity implements OnClickListener {

DBAdapter db;
Button btnAjout;
ListView listview;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        
        btnAjout = (Button) findViewById(android.R.id.button1);
        btnAjout.setOnClickListener(this);
        
        listview = (ListView) findViewById(android.R.id.list);
        
        db = new DBAdapter(this);
        db.open();
        
        DataBind();
        
    }
    
    @Override
    protected void onDestroy()
    {
    	db.close();
    	super.onDestroy();
    }
    
    public void DataBind()
    {
    	
    	Cursor c = db.recupererLaListeDesProduits();
    		
    	startManagingCursor(c);
    	
    	try{
    		
    	SimpleCursorAdapter adapter;
    	int[] tab = new int[]{R.id.textCodeBarre,R.id.textTitre,R.id.textDescription};
    	String[] str = new String[]{"codeBarre","titre","description"};
    	adapter = new SimpleCursorAdapter(this, R.layout.list_item, c, str, tab);
    	
    		
    	setListAdapter(adapter);
    	}
    	catch(RuntimeException ee)
    	{
    		Log.i("RRR", ee.getMessage());
    	}
    	catch(Exception e)
    	{
    		Log.i("TTT", e.getMessage());
    	}
    	
    }

@Override
public void onClick(View arg0) {

long num = SystemClock.currentThreadTimeMillis();

db.insererUnProduit(""+num, "Produit n :"+num, "Nouveau produit + num");
DataBind();
}
}



Voilà le code de ma classe DBAdapter:

package com.formation.sqlite;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;

public class DBAdapter{

DatabaseHelper DBHelper;
Context context;
SQLiteDatabase db;

public DBAdapter(Context context)
{
this.context = context;
DBHelper = new DatabaseHelper(context);
}

public class DatabaseHelper extends SQLiteOpenHelper
{
Context context;

public DatabaseHelper(Context context) {
super(context, "produits", null, 1);

this.context = context;
}

@Override
public void onCreate(SQLiteDatabase db) {

db.execSQL("CREATE TABLE produits (_id integer primary key autoincrement, codeBarre text not null, titre text not null, description text not null);");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

Toast.makeText(context, "Mise à jour de la bdd version "+oldVersion+" vers "+newVersion, Toast.LENGTH_LONG).show();
db.execSQL("DROP TABLE IF EXISTS produits;");
onCreate(db);
}

}

public DBAdapter open()
{
db = DBHelper.getWritableDatabase();

return this;
}

public void close()
{
db.close();
}

public void truncate()
{
db.execSQL("DELETE FROM produits;");
}

public long insererUnProduit(String codeBarre, String titre, String Description)
{
ContentValues values = new ContentValues();
values.put("codeBarre", codeBarre);
values.put("titre",titre);
values.put("description", Description);

return db.insert("produits",null, values);
}

public boolean supprimerProduit(long id)
{
return db.delete("produits", "id = "+id, null) >0;
}

public Cursor recupererLaListeDesProduits()
{
return db.query("produits", new String[]{
"_id",
"codeBarre",
"titre",
"description"
}, null, null, null, null, null);
}


}



Le problème que au moment ou je clique sur le bouton Ajouter :

Le msg d'info du Logcat s'affiche de mon catch de mon exception:

05-01 00:18:03.697: I/TTT(1580): column 'codeBarre' does not exist

Je veux bien votre aide.

Merci d'avance

1 réponse

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
1 mai 2012 à 19:01
Salut,

Codes-Sources est un site communautaire où des bénévoles apportent de l'aide à ceux qui le demandent. Nous demandons pas grand chose en retour : juste un peu de reconnaissance et de respect.
Venir poser une question sur le forum en disant que c'est urgent est un manque de respect : qu'est-ce que ca t'apporte de préciser que c'est urgent ? Tu crois qu'en disant cà tu seras prioritaire par rapport aux autres membres ? Tu crois qu'on va se dépêcher à te répondre parce que tu es dans l'urgence ?

Et bien non, bien au contraire ! Dire que c'est urgent ne nous donne vraiment pas envie d'aider. Nous avons tous nos tracas quotidiens, avec nos patrons qui nous disent qu'il leur faut telle fonctionnalité pour demain matin à 8 h (si ce n'est pour la veille). Alors je traque tout ceux qui demandent de l'aide de façon urgente histoire de bien leur faire comprendre qu'on y gagne rien à aider les gens, alors le moins que tu peux espérer, c'est de trouver quelqu'un qui veuille bien t'aider, l'urgence elle n'est que pour toi, et surtout pas pour nous !

Sujet clos.
0
Rejoignez-nous