Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android SQLiteLog:(1)靠近“Produse”:语法错误_Android_Mysql_Sqlite - Fatal编程技术网

Android SQLiteLog:(1)靠近“Produse”:语法错误

Android SQLiteLog:(1)靠近“Produse”:语法错误,android,mysql,sqlite,Android,Mysql,Sqlite,我想将另一个类的数据添加到我的数据库中,但出现以下错误: Produse:语法错误和SQLiteDatabase:附近的SQLiteLog:1 插入Pret=102.0 Ingreditent=1时出错;成分2; 成分3;成分4;成分5;Nume Produse=Produsul 15 Poza=poza15.jpg Gramaj=195.0 android.database.sqlite.SQLiteException:near-Produse:语法错误 代码1:,编译时:插入到Produse

我想将另一个类的数据添加到我的数据库中,但出现以下错误:

Produse:语法错误和SQLiteDatabase:附近的SQLiteLog:1 插入Pret=102.0 Ingreditent=1时出错;成分2; 成分3;成分4;成分5;Nume Produse=Produsul 15 Poza=poza15.jpg Gramaj=195.0 android.database.sqlite.SQLiteException:near-Produse:语法错误 代码1:,编译时:插入到ProdusePret、Ingrediente、Nume中 产品、Poza、Gramaj值?、?、?、?、

这是我的MyDBHandler类代码

public class MyDBHander extends SQLiteOpenHelper{

    public static final int DATABASE_VERSION = 1;
    public static final String DATABASE_NAME = "produseDB.db";
    public static final String TABLE_PRODUCTS = "Produse";

    public static int COLUMN_ID = 0;
    public static String COLUMN_PRODUS = "Nume Produse";
    public static String COLUMN_INGREDIENTE = "Ingrediente";
    public static String COLUMN_GRAMAJ = "Gramaj";
    public static String COLUMN_PRET = "Pret";
    public static String COLUMN_POZA = "Poza";
    public static SQLiteDatabase db;

    public MyDBHander(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, DATABASE_NAME, factory, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db){
        String CREATE_PRODUCTS_TABLE = "CREATE TABLE IF NOT EXISTS " + TABLE_PRODUCTS + " ( "
                + COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT " + COLUMN_PRODUS + " TEXT, " + COLUMN_INGREDIENTE
                + " TEXT, " + COLUMN_GRAMAJ + " TEXT, " + COLUMN_PRET + " TEXT, " + COLUMN_POZA +" TEXT" + " ) ";
        db.execSQL(CREATE_PRODUCTS_TABLE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_PRODUCTS);
        onCreate(db);
    }

    public void addProdus(Produs produs){
        ContentValues values = new ContentValues();

        ArrayList<String> ingredienteprodus;
        ingredienteprodus=produs.getIngrediente();
        String listaingrediente="";
        for (String s : ingredienteprodus)
        {
            listaingrediente += s + "; ";
        }

        values.put(COLUMN_PRODUS,produs.getNume_produs());
        values.put(COLUMN_INGREDIENTE, listaingrediente);
        values.put(COLUMN_GRAMAJ, String.valueOf(produs.getGramaj()));
        values.put(COLUMN_PRET, String.valueOf(produs.getPret()));
        values.put(COLUMN_POZA, produs.getPoza());

        db = getWritableDatabase();

        db.insert(TABLE_PRODUCTS, null, values);
        db.close();
    }

}

列名中不应使用空格

改变

public static String COLUMN_PRODUS = "Nume Produse";
进入


当您希望在sqlite中使用带空格的列时,应该使用``。 而不是:

插入表列,列中的两个值

你应使用:

在表列中插入“第二列”值


创建表时也是如此。

您的数据库表未成功创建。因此,最好卸载应用程序并重新安装,而不是
public static String COLUMN_PRODUS = "NumeProduse";