2017-08-20 6 views
0

私はログインアクティビティを使用してログインとパスワードのトークンをSQLiteデータベースに挿入できますが、パスワードを変更できるconfigという別のアクティビティを作っています。だから私はこの方法を作ったが、私は自分の設定作業でどのように使用するのか分からない。他のアクティビティからアンドロイドスタジオのパスワードを更新します

public class DatabaseHelper extends SQLiteOpenHelper { 
//Database Version 
private static final int DATABASE_VERSION = 1; 

// Database Name 
private static final String DATABASE_NAME = "UserManager.db"; 

// User table name 
private static final String TABLE_USER = "user"; 

// User Table Columns names 
private static final String COLUMN_USER_ID = "user_id"; 
private static final String COLUMN_USER_NAME = "user_name"; 
private static final String COLUMN_USER_EMAIL = "user_email"; 
private static final String COLUMN_USER_PASSWORD = "user_password"; 

// create table sql query 
private String CREATE_USER_TABLE = "CREATE TABLE " + TABLE_USER + "(" 
     + COLUMN_USER_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + COLUMN_USER_NAME + " TEXT," 
     + COLUMN_USER_EMAIL + " TEXT," + COLUMN_USER_PASSWORD + " TEXT" + ")"; 

// drop table sql query 
private String DROP_USER_TABLE = "DROP TABLE IF EXISTS " + TABLE_USER; 

    public DatabaseHelper(Context context) { 
    super(context, DATABASE_NAME, null, DATABASE_VERSION); 
} 

@Override 
public void onCreate(SQLiteDatabase db) { 
    db.execSQL(CREATE_USER_TABLE); 
} 
    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 

    //Drop User Table if exist 
    db.execSQL(DROP_USER_TABLE); 

    // Create tables again 
    onCreate(db); 

} 

public void update_user (String old_PASS , String new_PASS) 
{ 
this.getWritableDatabase().execSQL("UPDATE TABLE_USER SET COLUMN_USER_PASSWORD='"+new_PASS+ "' WHERE COLUMN_USER_PASSWORD= '"+old_PASS+"'"); 
} 
+1

更新クエリに問題があります。まず、準備されたステートメントを使用する必要があります。それ以外の場合、 'WHERE'節はユーザー名またはユーザーIDをチェックし、前のパスワードはチェックしません。今、同じ古いパスワードを持つすべてのレコードを更新します。 –

+0

public void update_user(String old_email、String new_PASS) { this.getWritableDatabase()。execSQL( "UPDATE TABLE_USER SET COLUMN_USER_PASSWORD = '" + new_PASS + "' WHERE COLUMN_USER_Email = '" + old_email + "'"); }これはどういう意味ですか? – imen

答えて

関連する問題