我正在尝试将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新手,我很欣赏你们可以给我的任何指示。
答案 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);
}
注意:您的树也应该接受对象