2016-05-22 17 views
0
package com.example.mohamed.myapplication; 

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

/** 
* Created by mohamed on 5/22/2016. 
*/ 
public class MyDBHandler extends SQLiteOpenHelper { 

    private static final int DB_VERSION=2; 
    private static final String DB_NAME="products.db"; 
    public static final String TABLE_PRODUCTS="products"; 
    public static final String Column_id="_id"; 
    public static final String Column_Products="productname"; 

    public MyDBHandler(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { 
     super(context, DB_NAME, factory, DB_VERSION); 
    } 


    @Override 
    public void onCreate(SQLiteDatabase db) { 
     String query = "CREATE TABLE " + TABLE_PRODUCTS + "(" + 
       Column_id +" INTEGER PRIMARY KEY AUTOINCREMENT ," + 
       Column_Products + " TEXT " + 
       ");"; 
     db.execSQL(query); 
    } 


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

     db.execSQL("DROP TABLE IF EXISTS " + TABLE_PRODUCTS); 
     onCreate(db); 
    } 

    public void addproduct (Products product){ 

     ContentValues values=new ContentValues(); 
     values.put(Column_Products,product.get_productname()); 
     SQLiteDatabase db=getWritableDatabase(); 
     db.insert(TABLE_PRODUCTS, null, values); 
     db.close(); 

    } 
    public void deleteproduct (String productname) 
    { 

     SQLiteDatabase db=getWritableDatabase(); 
     db.execSQL("DELETE FROM " + TABLE_PRODUCTS +"WHERE" +Column_Products + "=\"" + productname + "\";"); 

    } 

    public String DatabaeToString(){ 
     String dbstring =""; 
     SQLiteDatabase db=getWritableDatabase(); 
     String query ="SELECT * FROM " + TABLE_PRODUCTS +" WHERE 1"; 

     Cursor c = db.rawQuery(query,null); 
     c.moveToFirst(); 

     while (!c.isAfterLast()){ 
      if(c.getString(c.getColumnIndex("productname"))!=null){ 
      dbstring +=c.getColumnIndex("productname"); 
      dbstring +="\n" ; 
      } 
     } 
     return dbstring; 

    } 
} 

「テーブルの製品はという名前の列を持っていない」[Logcat scrshot] [2] **私はこのコード表の製品の修正に一日働いているPRODUCTNAMEという名前の列を持っていません** android.database製品(PRODUCTNAME)VALUES。INSERT INTOSQLiteのはstudio- -android

Logcat screen shot

+0

テーブル作成文を試しましたか?違います。 –

+0

どういう意味ですか?間違った部分はどこですか? –

+0

列はコンマで区切られています。 –

答えて

0

あなたはこの上で、このチュートリアルのソースコードを持っている.sqlite.SQLiteException:コンパイル中、:テーブル製品は何という名前の列PRODUCTNAME(コード1)を持っていません(?)サイト: https://thenewboston.com/forum/topic.php?id=3767

+0

ここでエラーが発生しました:( –

+0

ありませんエラー、ちょうどチュートリアルからコードをコピーする – Nenco

関連する問題