に...私はここにアンドロイドsqliteの更新
とは、私のDBの作成方法です....それは私のPRIMARY KEYを変更したくない....
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);
}
と、この は細かい作業の前にどちらの2つの方法
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);
}
私はそれで
を行を追加する方法 アップしている...しかし、私は、行の値を変更したいとき... 私は このメソッドを使用します3210public 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
);
}
それは正常に実行され、正しい値が「やる」...この方法で
を得るが、それはなぜDBのデータが
に代わるものではありませんでしたか?
ご協力いただきありがとうございます。行を更新しようとしているとき
私はあなたの問題は、あなたが与えているwhereclauseであると思います。これをチェックするには、メソッドからint値を返す。 –
'rowId'は正しいですか? – Caner
'db.update'は何を返しますか? – Caner