在第一......我不希望它改变我的PRIMARY KEY ....的Android源码更新
和这里的创建我的数据库的方法....
public void onCreate(SQLiteDatabase db) {
String DATABASE_CREATE_TABLE =
"create table userData ("
+ "_id INTEGER PRIMARY KEY AUTOINCREMENT,"
+ "HTTPorS TEXT,"
+ "IPHostName TEXT,"
+ "port TEXT,"
+ "userName TEXT,"
+ "password TEXT,"
+ "saveOption TEXT"
+ ");";
db.execSQL(DATABASE_CREATE_TABLE);
}
这是我怎样在里面
public long create(String HTTPorS, String IPHostName, String port, String userName, String password, String saveOption) {
ContentValues args = new ContentValues();
args.put("HTTPorS", HTTPorS);
args.put("IPHostName", IPHostName);
args.put("port", port);
args.put("userName", userName);
args.put("password", password);
args.put("saveOption", saveOption);
return db.insert("userData", null, args);
}
两个2种方法后续工作前添加一行精......但是,当我想换行的价值...... 我用这个方法
public void update(long rowId,String httporS, String IP,String Port,String userName,String password) {
ContentValues args = new ContentValues();
args.put("HTTPorS", httporS);
args.put("IPHostName", IP);
args.put("port", Port);
args.put("userName", userName);
args.put("password", password);
args.put("saveOption", "no use");
db.update("userData",
args,
"_id=" + rowId,
null
);
}
它运行正常,正确的价值观「做」获得此方法...
但分贝的数据并没有取代
这是为什么?
感谢您的帮助!
我觉得你的问题是与whereclause你给。通过从你的方法返回一个int值来检查。 – 2012-03-09 12:45:30
你确定'rowId'是正确的吗? – Caner 2012-03-09 12:48:13
'db.update'返回什么? – Caner 2012-03-09 12:50:33