Android の SQLite ですべての列を含むテーブルを作成しましたが、logcat はquatite_stock
、テーブルにそのような列がないと言っproduittable
ています。何が問題なのか教えてください。反対の理由を教えてくれるコラムがそこにある
ここに私のlogcatがあります
05-15 23:15:28.595: E/AndroidRuntime(807): FATAL EXCEPTION: main
05-15 23:15:28.595: E/AndroidRuntime(807): android.database.sqlite.SQLiteException: table produittable has no column named quantite_stock (code 1): , while compiling: insert into produittable(nom_produit,quantite_stock,prix_vente,description_produit) values('salah','l','b','kgamj')
05-15 23:15:28.595: E/AndroidRuntime(807): at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
05-15 23:15:28.595: E/AndroidRuntime(807): at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:882)
05-15 23:15:28.595: E/AndroidRuntime(807): at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:493)
05-15 23:15:28.595: E/AndroidRuntime(807): at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
05-15 23:15:28.595: E/AndroidRuntime(807): at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
05-15 23:15:28.595: E/AndroidRuntime(807): at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
05-15 23:15:28.595: E/AndroidRuntime(807): at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1663)
05-15 23:15:28.595: E/AndroidRuntime(807): at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1594)
05-15 23:15:28.595: E/AndroidRuntime(807): at tabet.salah.gvente.ProduitActivity.insert(ProduitActivity.java:165)
およびデータベースを含む私のアクティビティの場合
public class ProduitActivity extends Activity{
SQLiteDatabase db;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.produits);
createDB();
TextView listeprod =(TextView)findViewById(R.id.link_to_liste);
listeprod.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
Intent i = new Intent(getApplicationContext(), ChecklisteProduit.class);
startActivity(i);
}
});
Button btnAnnuler=(Button)findViewById(R.id.btnAnnuler );
btnAnnuler.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
Intent i = new Intent(getApplicationContext(), AndroidDashboardDesignActivity.class);
startActivity(i);
}
});
//inserer les information du produit dans la table produittable avec la methode insert
Button btnAjout=(Button)findViewById(R.id.btnAjout );
btnAjout.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
insert();
}
});
Button btnClear=(Button)findViewById(R.id.btnClear );
btnClear.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
clear();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
CreateMenu(menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
return MenuChoice(item);
}
private void CreateMenu(Menu menu)
{
MenuItem mnu1 = menu.add(0, 0, 0, "Insert");
{
mnu1.setAlphabeticShortcut('i');
mnu1.setIcon(android.R.drawable.ic_input_add);
}
MenuItem mnu2 = menu.add(0, 1, 1, "Search");
{
mnu2.setAlphabeticShortcut('s');
mnu2.setIcon(android.R.drawable.ic_search_category_default);
}
MenuItem mnu3 = menu.add(0, 2, 2, "Delete");
{
mnu3.setAlphabeticShortcut('d');
mnu3.setIcon(android.R.drawable.ic_delete);
}
MenuItem mnu4 = menu.add(0, 3, 3, "View");
{
mnu4.setAlphabeticShortcut('d');
mnu4.setIcon(android.R.drawable.ic_menu_info_details);
}
}
private boolean MenuChoice(MenuItem item)
{
Intent intent=new Intent();
switch (item.getItemId()) {
case 0:
insert();
return true;
case 1:
intent.setClass(ProduitActivity.this, StockActivity.class);
startActivity(intent);
return true;
case 2:
intent.setClass(ProduitActivity.this, StockActivity.class);
startActivity(intent);
return true;
case 3:
intent.setClass(ProduitActivity.this, StockActivity.class);
startActivity(intent);
return true;
}
return false;
}
public void createDB()
{
db=openOrCreateDatabase("produitbase.db", SQLiteDatabase.CREATE_IF_NECESSARY, null);
db.setLocale(Locale.getDefault());
db.setLockingEnabled(true);
db.setVersion(1);
String sql="create table if not exists Produittable(id INTEGER PRIMARY KEY AUTOINCREMENT, nom_produit TEXT, quantite_stock TEXT, prix_vente TEXT, description_produit TEXT)";
db.execSQL(sql);
}
public void insert()
{
EditText nom_produit=(EditText)findViewById(R.id.Nom_produit);
EditText quantite_stock=(EditText)findViewById(R.id.quantite_stock);
EditText prix_vente=(EditText)findViewById(R.id.prix_vente);
EditText description_produit=(EditText)findViewById(R.id.description_produit);
if(nom_produit.getText().toString().equals(""))
{
Toast.makeText(ProduitActivity.this, "Entrer nom produit.", Toast.LENGTH_SHORT).show();
}
else if (quantite_stock.getText().toString().equals(""))
{
Toast.makeText(ProduitActivity.this, "Entrer la quantité.", Toast.LENGTH_SHORT).show();
}
else if (prix_vente.getText().toString().equals(""))
{
Toast.makeText(ProduitActivity.this, "Entrer prix de vente.", Toast.LENGTH_SHORT).show();
}
else if (description_produit.getText().toString().equals(""))
{
Toast.makeText(ProduitActivity.this, "Entrer la description.", Toast.LENGTH_SHORT).show();
}
else
{
String sql="insert into produittable(nom_produit,quantite_stock,prix_vente,description_produit) values('"+ nom_produit.getText().toString() +"','"+ quantite_stock.getText().toString() +"','"+ prix_vente.getText().toString() +"','"+ description_produit.getText().toString()+"')";
db.execSQL(sql);
clear();
Toast.makeText(ProduitActivity.this, "Produit Ajouté.", Toast.LENGTH_SHORT).show();
}
}
public void clear()
{
EditText nom_produit=(EditText)findViewById(R.id.Nom_produit);
EditText quantite_stock=(EditText)findViewById(R.id.quantite_stock);
EditText prix_vente=(EditText)findViewById(R.id.prix_vente);
EditText description_produit=(EditText)findViewById(R.id.description_produit);
nom_produit.setText("");
quantite_stock.setText("");
prix_vente.setText("");
description_produit.setText("");
nom_produit.clearFocus();
quantite_stock.clearFocus();
prix_vente.clearFocus();
description_produit.clearFocus();
nom_produit.requestFocus();
}
@Override
public void onDestroy()
{
super.onDestroy();
db.close();
}
}