SQLite从活动android / java插入

时间:2018-01-11 12:48:10

标签: android mysql sqlite

我正在使用一个活动在我的SQLite数据库中创建一个插入语句,我遇到了一个问题:

表创建语句:

private static final String CREATE_TABLE_QUESTION =
        "CREATE TABLE  " + TABLE_QUESTION + "("
                + KEY_ID_QUESTION + " INTEGER PRIMARY KEY autoincrement NOT NULL, "
                + KEY_QUESTION + " TEXT, "
                + KEY_PROFIL_CIBLE + " TEXT, "
                + KEY_PROFIL_WAITEDANSWER + " TEXT, "
                + KEY_REGLE + " TEXT, "
                + KEY_PLANACT + " TEXT, "
                + KEY_THEME + " TEXT"
                + ")";

在我的活动中,我已经创建了一个插入数据的功能:

public void createquestion( String question, String profile, String regle, String plan, String theme) {

                long id;

                ContentValues values = new ContentValues();

                String questM = theme.concat(" - "+question);
                values.put(ModelHelper.KEY_QUESTION, questM);
                values.put(ModelHelper.KEY_PROFIL_CIBLE, profile);
                values.put(ModelHelper.KEY_REGLE, regle);
                values.put(ModelHelper.KEY_PLANACT, plan);
                values.put(ModelHelper.KEY_THEME, theme);


               long sql =  db.insert(ModelHelper.TABLE_QUESTION,null,values);
                //db.execSQL( sql);
            }

我尝试使用另一种方法,输入类似的SQL语句:

 final String sql= ("INSERT INTO " +ModelHelper.TABLE_QUESTION+ "( '+ModelHelper.KEY_QUESTION+ ', ' +ModelHelper.KEY_PROFIL_CIBLE+ ', ' +ModelHelper.KEY_REGLE+ ',' +ModelHelper.KEY_PLANACT+ ', ' +ModelHelper.KEY_THEME+') VALUES  (' +questM+ ', ' +profile+ ', ' +regle+ ' ,' +plan+ ',' +theme ')");

db.execSQL(sql);

但它既不起作用,单击按钮时出现此错误: java.lang.NullPointerException:尝试在空对象引用上调用虚方法'long android.database.sqlite.SQLiteDatabase.insert(java.lang.String,java.lang.String,android.content.ContentValues)

有人可以帮忙吗?

0 个答案:

没有答案