0

可能重复:
插入 SQLite 数据库时出错

嗨.............我是 Android 新手,现在我正在使用 android 数据库。我想通过调用一个方法在我的数据库中插入一些硬编码的值。

     public void insertdata(String ti, String de) {
    ContentValues userdetailValues = new ContentValues(); 
    userdetailValues.put("tick", ti);
    userdetailValues.put("des",de);
    dh.insert(DatabaseHelper.TABLE_NAME, null, userdetailValues);
    } 

上述方法是在 onCreate() 块上的活动中定义的。当我要在 onCreate() 块中调用此方法时

 insetdata(aaa,bbb);

然后它对我显示一个错误-

    aaa can not be resolve to variable and same for bbb.

正如我所说,我是 Android 新手,很害怕,在这种情况下,如果这是小问题,请帮助我,我只是一个学习者。在此先感谢大家。

4

4 回答 4

1

您正在函数中传递字符串值,因此请尝试使用双引号或创建 aaa 和 bbb 字符串变量并在其中分配一些值。

insetdata("aaa","bbb");

或者

String aaa = "test", bbb = "testy";
insetdata(aaa,bbb);

编辑 -您需要在插入值之前初始化dh对象并打开数据库,并在使用后关闭它。

于 2012-11-21T06:43:43.560 回答
1

您可能对这些行有问题

userdetailValues.put("tick", ti);
userdetailValues.put("des",de);

而不是使用“tick”和“des”,而是使用必须添加数据的列名。你的代码可以像

 public void insertdata(String ti, String de) {
ContentValues userdetailValues = new ContentValues(); 
userdetailValues.put(DatabaseHelper.C1, ti);
userdetailValues.put(DatabaseHelper.C2,de);
dh.insert(DatabaseHelper.TABLE_NAME, null, userdetailValues);
}
于 2012-11-22T05:22:13.217 回答
0

这是因为您传递给函数的变量在该范围内无效。您是否尝试插入任何硬编码值。

像:

  insetdata("aaa","bbb");
于 2012-11-21T06:42:59.067 回答
0

试试这个

public void addContact(Contact contact) {
        SQLiteDatabase db = this.getWritableDatabase();

        ContentValues values = new ContentValues();
        values.put(KEY_NAME, contact.getName()); // Contact Name
        values.put(KEY_PH_NO, contact.getPhoneNumber()); // Contact Phone Number

        // Inserting Row
        db.insert(TABLE_CONTACTS, null, values);
        db.close(); // Closing database connection
    }
于 2012-11-21T06:47:30.700 回答