2012-03-09 13 views
2

に...私はここにアンドロイド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); 
} 

私はそれで

を行を追加する方法 アップしている...しかし、私は、行の値を変更したいとき... 私は

このメソッドを使用します3210
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     
    ); 
} 

それは正常に実行され、正しい値が「やる」...この方法で

を得るが、それはなぜDBのデータが

に代わるものではありませんでしたか?

ご協力いただきありがとうございます。行を更新しようとしているとき

+0

私はあなたの問題は、あなたが与えているwhereclauseであると思います。これをチェックするには、メソッドからint値を返す。 –

+0

'rowId'は正しいですか? – Caner

+0

'db.update'は何を返しますか? – Caner

答えて

0

_idはINTEGER

あなたのROWIDは、DBを更新する整数に修正されるべきです。

public void update(long rowId,String httporS, String IP,String Port,String userName,String password) 

長い - > int型

0

は、あなたはあなたが得るエラーを共有することができます。また

SQLiteDatabase db = database.getWritableDatabase(); 

のようなデータベースの書き込み可能なバージョンを取得するのですか?

+0

私はすでにこれを使用しています.... SQLiteDatabase db = database.getWritableDatabase(); エラーメッセージはありません.... –

1
//decleration 
EventDataSQLHelper eventsData; 
    SQLiteDatabase dbx ; 
    SQLiteDatabase rdbx; 
    ContentValues values; 

//onCreate 

dbx = eventsData.getWritableDatabase();  
     rdbx = eventsData.getReadableDatabase(); 
     values=new ContentValues(); 

//updated values 
values2.put("clumnname1", updatedvalue1); 
values2.put("clumnname2", updatedvalue2); 
values2.put("clumnname3", updatedvalue3); 
values2.put("clumnname4", updatedvalue4); 
values2.put("clumnname5", updatedvalue5); 
... 
... 
... 

//delete query 

//specify the id of the record to be updated 
dbx.update("tablename", values2, "id="? , null); 
関連する問題