我正在尝试使用android将带有contentValues的数据插入到我的sqlite数据库中

时间:2012-03-21 19:11:15

标签: android database sqlite

public long insertNewUserData(String name, String address, String email, String password){
        ContentValues initialValuesOfUserTable = new ContentValues();
        initialValuesOfUserTable.put("Name",name);
        initialValuesOfUserTable.put("Address",address);
        initialValuesOfUserTable.put("email",email);
        initialValuesOfUserTable.put("Password",password);
        return myDataBase.insert("User", null, initialValuesOfUserTable);

    }

我的问题是无法将数据插入我的sqlite数据库。它是连接的,可以获取数据但不能插入。

4 个答案:

答案 0 :(得分:1)

您可以尝试以下方法:

public Long insert_todoinfo(String a, String b, String c, String d,
            String e, String f, String g) {
        // TODO Auto-generated method stub
        ContentValues con = new ContentValues();
        con.put("title", a);
        con.put("description", b);
        con.put("category", e);
        con.put("due_date", c);
        con.put("alarm_time", d);
        con.put("alarm_set", f);
        con.put("priority", g);
        con.put("parform", "false");
        mDb.insert(DATABASE_TABLE_TODO_LIST, null, con); 

答案 1 :(得分:1)

通过DDMS检查数据库文件权限,确保您不会尝试编写只读数据库

答案 2 :(得分:0)

if(db!=null){
         ContentValues row = new ContentValues();
         row.put("rt_id",tid);
         row.put("rs_id", sid);
         row.put("rsubject", rsubject);
         row.put("rdescr",rdescr);
         row.put("day", day);
         row.put("month",month);
         row.put("year",year);
         row.put("stamp", stamp);
         row.put("amount",amount);

         long chk = db.insert("records",null, row);

         if(chk!=0){
             Toast.makeText(myContext, "Record added successfully",Toast.LENGTH_LONG).show(); 
         }else{
             Toast.makeText(myContext, "Record added failed...! ",Toast.LENGTH_LONG).show();
         }
       }else{
           Toast.makeText(myContext, "could Not connected database..!!! ",Toast.LENGTH_LONG).show(); 
       }
     }catch(SQLiteException exc){
         Toast.makeText(myContext, "Record could not saved...!!! ",Toast.LENGTH_LONG).show();
     }finally{
         db.close();
         }

这里db是SQLiteDatabase对象,并通过从DbHelper类获取getWritableDatabase()来初始化它。但是如果你有NullPointerException那么你应该检查它,如果它是否为null。快乐的Android编程..

答案 3 :(得分:0)

试试这个。

public long insertNewUserData(String name, String address, String email, String password){

        myDatabase = openOrCreateDatabase("databasename.db",SQLiteDatabase.CREATE_IF_NECESSARY, null)
        ContentValues initialValuesOfUserTable = new ContentValues();
        initialValuesOfUserTable.put("Name",name);
        initialValuesOfUserTable.put("Address",address);
        initialValuesOfUserTable.put("email",email);
        initialValuesOfUserTable.put("Password",password);
        return myDataBase.insert("User", null, initialValuesOfUserTable);

    }