Как обновить данные в TextBox на событие нажатия кнопки в Android? - PullRequest
0 голосов
/ 19 августа 2011

i Создаю приложение Android, в это приложение я обычно вставляю и удаляю, но я не могу его обновить. Пытаюсь обновить, но у меня ошибка.

public Helper(Context ctx) 
{
    this.context = ctx;
    DBHelper = new DatabaseHelper(context);
}

private static class DatabaseHelper extends SQLiteOpenHelper 
{
    DatabaseHelper(Context context) 
    {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) 
    {
        db.execSQL(DATABASE_CREATE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, 
    int newVersion) 
    {
        Log.w(TAG, "Upgrading database from version " + oldVersion 
                + " to "
                + newVersion + ", which will destroy all old data");
        db.execSQL("DROP TABLE IF EXISTS titles");
        onCreate(db);
    }
}    

//---opens the database---
public Helper open() throws SQLException 
{
    db = DBHelper.getWritableDatabase();
    return this;
}

//---closes the database---    
public void close() 
{
    DBHelper.close();
}

//---insert a title into the database---
public long insert(String name) 
{
     ContentValues initialValues = new ContentValues();
     initialValues.put("Name", name);
    return db.insert(DATABASE_TABLE, null,initialValues);
}
//---updates a title---
public long update(String name)
        {
            ContentValues args = new ContentValues();
            args.put("Name",name);

            return db.update(DATABASE_TABLE, args, 
                             "Name" + "=" + name, null);
        }


//---deletes a particular title---
public int delete(String name) 
{
   // return db.delete(DATABASE_TABLE,"Name="+name, null);
    return db.delete(DATABASE_TABLE,"Name=?",new String[]{String.valueOf(name)});
}

}

MyФайл активности

    private static final String DATABASE_CREATE =
    "create table titles (_id integer primary key autoincrement, "
     + "Name text not null);";

private final Context context; 

private DatabaseHelper DBHelper;
private SQLiteDatabase db;

public Helper(Context ctx) 
{
    this.context = ctx;
    DBHelper = new DatabaseHelper(context);
}

private static class DatabaseHelper extends SQLiteOpenHelper 
{
    DatabaseHelper(Context context) 
    {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) 
    {
        db.execSQL(DATABASE_CREATE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, 
    int newVersion) 
    {
        Log.w(TAG, "Upgrading database from version " + oldVersion 
                + " to "
                + newVersion + ", which will destroy all old data");
        db.execSQL("DROP TABLE IF EXISTS titles");
        onCreate(db);
    }
}    

//---opens the database---
public Helper open() throws SQLException 
{
    db = DBHelper.getWritableDatabase();
    return this;
}

//---closes the database---    
public void close() 
{
    DBHelper.close();
}

//---insert a title into the database---
public long insert(String name) 
{
     ContentValues initialValues = new ContentValues();
     initialValues.put("Name", name);
    return db.insert(DATABASE_TABLE, null,initialValues);
}
//---updates a title---
public long update(String name)
        {
            ContentValues args = new ContentValues();
            args.put("Name",name);

            return db.update(DATABASE_TABLE, args, 
                             "Name" + "=" + name, null);
        }


//---deletes a particular title---
public int delete(String name) 
{
   // return db.delete(DATABASE_TABLE,"Name="+name, null);
    return db.delete(DATABASE_TABLE,"Name=?",new String[]{String.valueOf(name)});
}

}

1 Ответ

2 голосов
/ 19 августа 2011

При запросе к базе данных, если поля не являются числом, вы должны использовать '' для включения текста. Попробуйте это.

   return db.update(DATABASE_TABLE, args, 
                                 "Name" + "='" + name+"'", null);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...