Android SQLiteLog:(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类代码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
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";