使用字符串传递给适配器而不是字符串

时间:2014-06-06 06:46:20

标签: android android-sqlite

我正在尝试将Mainactivity的字符串传递给databaseadapter类,以使用string更新第一列(使用string指定而不是{ {1}}中的{1}}},但发现int仅适用于sqlite

a)在mainactivity中,对于int

db.update()

b)在mainactivity中,对于String

int

在databaseadapter中

Integer jacky = 78;
myDb.updateK(jacky);

在上面的情况中,只有情况a)在使用int时起作用而情况b)使用字符串jacko不起作用。有没有办法解决这个问题,并将字符串从String jackie = "jacko"; myDb.updateK(jackie); 传递给String cup = "_id = 1"; //since jack doesn't have to be jacky or jackie, and can be mary public void updateK(int mary){ ContentValues tree = new ContentValues(); tree.put("columnone", mary); db.update("TableOne", tree, cup, null); }

正如你可能会说的那样,我是Android新手,我很欣赏你们可以给我的任何指示。

2 个答案:

答案 0 :(得分:1)

"columnone"应该是表"TableOne"的列名。验证该列的类型(定义表时应定义列数据类型)。根据您的问题,它应该是INTEGER类型。如果是这样,您可以将其类型更改为TEXT,那么您必须更改案例a),如下所示。

myDb.updateK(String.valueof(jacky));

答案 1 :(得分:1)

a)在mainactivity中,对于int

Integer jacky = 78;
myDb.updateK(jacky);

b)在mainactivity中,对于String

String jackie = "jacko";
myDb.updateK(jackie);

在databaseadapter中

String cup = "_id = 1";
//since jack doesn't have to be jacky or jackie, and can be mary
public void updateK(Object mary){   
ContentValues tree = new ContentValues();
tree.put("columnone", mary);
db.update("TableOne", tree, cup, null);  
}

注意:您的树也应该接受对象