我需要像用户在db中一样提供消息。在哪里写代码。?

时间:2014-02-18 13:35:58

标签: android sqlite

我的代码是

// Getting single contact
Contact Get_Contact(int id) {
    SQLiteDatabase db = this.getReadableDatabase();

    Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID,
        KEY_NAME, KEY_PASSWORD, KEY_CONFIRMPASSWORD }, KEY_ID + "=?",
        new String[] { String.valueOf(id) }, null, null, null, null);
    if (cursor != null)
        cursor.moveToFirst();

    Contact contact = new Contact(Integer.parseInt(cursor.getString(0)),
        cursor.getString(1), cursor.getString(2), cursor.getString(3));
    // return contact
    cursor.close();
    db.close();

    return contact;
}

我使用了这段代码。当我再次插入现有记录时,它不会插入。这是我预期的结果。但我需要像“这是现有用户”一样烘烤消息。在哪里写吐司/ ??的代码 我的Add_update_user.java文件包含,

        if(name.equals("")||password.equals("")||confirmpassword.equals(""))
        {
                Toast.makeText(getApplicationContext(), "Field Vaccant", Toast.LENGTH_LONG).show();
                return;
        }
        if(!password.equals(confirmpassword))
        {
            Toast.makeText(getApplicationContext(), "Password does not match", Toast.LENGTH_LONG).show();
            return;
        }
        else
        {

            // Save the Data in Database
            dbHandler.Add_Contact(name,password,confirmpassword);
            //DatabaseHandler.Add_Contact(Contact contact);         
            Toast.makeText(getApplicationContext(), "Account Successfully Created ", Toast.LENGTH_LONG).show();
        }

帮帮我......

2 个答案:

答案 0 :(得分:1)

您可以创建另一个传递名称的方法,以验证联系人是否存在。如果您愿意,您也可以稍后使用此方法通过名称获取联系。

Contact Get_Contact(String name) {
     SQLiteDatabase db = this.getReadableDatabase();

     Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID,
          KEY_NAME, KEY_PASSWORD, KEY_CONFIRMPASSWORD }, KEY_NAME + "=?",
          new String[] { name }, null, null, null, null);
     if (cursor != null)
          cursor.moveToFirst();

     Contact contact = new Contact(Integer.parseInt(cursor.getString(0)),
     cursor.getString(1), cursor.getString(2), cursor.getString(3));
     cursor.close();
     db.close();

     return contact;
}

在您的活动中,您可以验证是否为空以检查联系人是否已存在:

if(dbHandler.Get_Contact(name) != null){
     Toast.makeText(getApplicationContext(), "The contact already exists!", Toast.LENGTH_LONG).show();
}

希望它有所帮助!

答案 1 :(得分:0)

你可以用这个......

只需检索您的字符串名称

    String Contactname = cursor.getString(1);

用你的名字后检查

   if(name.equalsIgnoreCase(Contactname))
    {
            Toast.makeText(getApplicationContext(), "This is existing user", Toast.LENGTH_LONG).show();
            return;
    }