在Android中的SQLite数据库中更改密码

时间:2013-11-07 08:49:00

标签: java android android-sqlite

我正在使用SQLite数据库在我的应用程序中插入,创建或更新数据。我想在我的SQLite数据库中更改密码。我在应用程序中更改密码时遇到问题。当我运行演示并输入任何字段时,点击按钮以更改数据库中的数据,它将转到其他条件。没有什么能在log cat中显示任何错误或异常。有没有办法做到这一点?这是我的代码。

这是我的DBHelper类

public class DataBaseHelper extends SQLiteOpenHelper
{

public DataBaseHelper(Context context, String name,CursorFactory factory, int version) 
    {
               super(context, name, factory, version);
    }

    @Override
    public void onCreate(SQLiteDatabase _db) 
    {
            _db.execSQL(DataBase_Adapter.DATABASE_CREATE_LOGIN);
     }

    @Override
    public void onUpgrade(SQLiteDatabase _db, int _oldVersion, int _newVersion) 
    {
            // Log the version upgrade.
      Log.w("TaskDBAdapter", "Upgrading from version " +_oldVersion + " to "+_newVersion + ", which will destroy all old data");

           _db.execSQL("DROP TABLE IF EXISTS " + "TEMPLATE");

            onCreate(_db);
    }

}

此DataBaseAdapter类代码

 public static final String TABLE_NAME_LOGIN="LOGIN";

        //Colum,n Names
        public static final String KEY_LOGIN_ID="ID";
        public static final String KEY_USERNAME="USERNAME";
        public static final String KEY_EMAIL_ID="EMAILID";
        public static final String KEY_PASSWORD="PASSWORD";


        //Table Create Statement 
        public static final String DATABASE_CREATE_LOGIN = "CREATE TABLE "+TABLE_NAME_LOGIN+" ("+KEY_LOGIN_ID+" INTEGER PRIMARY KEY AUTOINCREMENT, "+KEY_USERNAME+" TEXT, "+KEY_EMAIL_ID+" TEXT, "+KEY_PASSWORD+" TEXT)";


 //Insert Data in Database Login
        public void insertEntry(String userName,String userEmail,String password)
        {
           ContentValues newValues = new ContentValues();
            // Assign values for each row.
            newValues.put(KEY_USERNAME , userName);
            newValues.put(KEY_EMAIL_ID , userEmail);
            newValues.put(KEY_PASSWORD , password);

            // Insert the row into your table
            db.insert(TABLE_NAME_LOGIN, null, newValues);

        }


//Update Query

        public boolean change(String strEmailId , String strNewPin1 )
        {

            Cursor cur=db.rawQuery("UPDATE "+TABLE_NAME_LOGIN +" SET " + KEY_PASSWORD+ " = '"+strNewPin1+"' WHERE "+ KEY_EMAIL_ID +"=?", new String[]{strEmailId});

            if (cur != null)
            {           
                if(cur.getCount() > 0)
                {
                    return true;
                }
            }
            return false;
        }

这是我的更改销活动

public class Change_Pin_Activity7 extends Activity
{
    EditText editText_EmailId , editText_changePin1 , editText_changePin2;
    Button buttonChangePin;
    TextView textView_PasswordMatch;

    String strEmailId , strNewPin1 , strNewPin2;
    boolean storedNewData;

    DataBase_Adapter dbAdapter;
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.change_pin_activity7);

        dbAdapter=new DataBase_Adapter(this);
        dbAdapter=dbAdapter.open();

        editText_EmailId=(EditText)findViewById(R.id.EditText_EmailId);
        editText_changePin1=(EditText)findViewById(R.id.EditText_Pin1);
        editText_changePin2=(EditText)findViewById(R.id.EditText_Pin2);

        textView_PasswordMatch=(TextView)findViewById(R.id.TextView_PinProblem);

        buttonChangePin=(Button)findViewById(R.id.button_ChangePin);
        buttonChangePin.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) 
            {
                // TODO Auto-generated method stub
                strEmailId = editText_EmailId.getText().toString().trim();
                strNewPin1 = editText_changePin1.getText().toString().trim();
                strNewPin2 = editText_changePin2.getText().toString().trim();

                storedNewData=dbAdapter.change(strEmailId , strNewPin1);

                if (strNewPin1.equals(storedNewData)) 
                {

                    textView_PasswordMatch.setText("Password Match !!!");

                    Toast.makeText(Change_Pin_Activity7.this,
                            "Pin Change Successfully", Toast.LENGTH_LONG).show();
                }

                // check if any of the fields are vaccant
                if(strEmailId.equals("")||strNewPin1.equals("")||strNewPin2.equals(""))
                {
                        Toast.makeText(getApplicationContext(), "Field Vaccant", Toast.LENGTH_LONG).show();
                        return;
                }

                // check if both password matches
                if(!strNewPin1.equals(strNewPin2))
                {
                    Toast.makeText(getApplicationContext(), "Pin does not match", Toast.LENGTH_LONG).show();
                    return;
                }

                else
                {
                    Toast.makeText(getApplicationContext(),"Not Working ", Toast.LENGTH_LONG).show();

                }

            }
        });

    }


    @Override
    protected void onDestroy() {
        super.onDestroy();
        // Close The Database
        dbAdapter.close();
    }

}

1 个答案:

答案 0 :(得分:0)

if (strNewPin1.equals(storedNewData))何时成功,如果strNewPin1StringstoredNewDataboolean