从编辑文本中按按钮更新数据库中的列,并通过按钮将其返回到文本视图



我想通过单击按钮来更新数据库中的一列。按钮从编辑文本中获取值。然后我想单击另一个按钮,并希望为文本视图获取一个值。在类和数据库中都有我的方法。

button1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mDb.open();
            int wynik = editText.getInputType();
            mDb.updateScore(product,wynik);
            mDb.close();
        }
    });
    button2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mDb.open();
            Cursor t = mDb.fetchOneCwiczenie(product);
            int c = t.getColumnIndexOrThrow("score");
            String k = Integer.toString(c);
            textView1.setText(k);
            mDb.close();
        }
    });

和数据库

public int updateScore(String name, int wynik) {
    ContentValues contentValues = new ContentValues();
    contentValues.put(KEY_SERIES,wynik);
    String[] whereArgs={name};
    int c = mDb.update(TABLE_CWICZENIA,contentValues, KEY_NAME + " =? " , whereArgs);
    return c;
}

 public Cursor fetchOneCwiczenie(String name) {
    String query = "SELECT * FROM " + TABLE_CWICZENIA + " WHERE name='"+name+"'";
    Cursor c = mDb.rawQuery(query,null);
    if(c != null) {
        c.moveToFirst();
    }
    return c;
}


public class OpenHelper1 {

private static final String TAG = "TreningDbAdapter";
private DatabaseHelper mDbHelper;
private SQLiteDatabase mDb;
private final Context mCtx;
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "menadzerCwiczen1";
private static final String TABLE_CWICZENIA = "cwiczenia";
public static final String KEY_ID = "_id";
public static final String KEY_NAME = "name";
public static final String KEY_KIND = "kind";
public static final String KEY_URL = "url";
public static final String KEY_SCORE = "score";
public static final String KEY_SERIES = "series";

private static final String DATABASE_CREATE =
        "CREATE TABLE if not exists " + TABLE_CWICZENIA + " (" +
                KEY_ID + " integer PRIMARY KEY autoincrement," +
                KEY_NAME + " TEXT," +
                KEY_KIND + " TEXT," +
                KEY_URL + " TEXT," +
                KEY_SCORE + " integer," +
                KEY_SERIES + " integer" +
                ");";

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

    @Override
    public void onCreate(SQLiteDatabase db) {
        Log.w(TAG, DATABASE_CREATE);
        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 " + TABLE_CWICZENIA);
        onCreate(db);
    }
}
public OpenHelper1(Context ctx) {
    this.mCtx = ctx;
}
public OpenHelper1 open() throws SQLException {
    mDbHelper = new DatabaseHelper(mCtx);
    mDb = mDbHelper.getWritableDatabase();
    return this;
}
public void close() {
    if (mDbHelper != null) {
        mDbHelper.close();
    }
}
public long createCwiczenie(String name,
                          String kind,
                          String url,
                          int score,
                          int series) {
    ContentValues initialValues = new ContentValues();
    initialValues.put(KEY_NAME, name);
    initialValues.put(KEY_KIND, kind);
    initialValues.put(KEY_URL, url);
    initialValues.put(KEY_SCORE, score);
    initialValues.put(KEY_SERIES, series);
    return mDb.insert(TABLE_CWICZENIA, null, initialValues);
}
public void deleteCwiczenie(String name) {
    mDb.execSQL("DELETE FROM " + TABLE_CWICZENIA + " WHERE " + KEY_NAME + "="" + name + "";" );
}
public int updateScore(String name, int wynik) {
    ContentValues contentValues = new ContentValues();
    contentValues.put(KEY_SERIES,wynik);
    String[] whereArgs={name};
    int c = mDb.update(TABLE_CWICZENIA,contentValues, KEY_NAME + " =? " , whereArgs);
    return c;
}
public boolean deleteAllCwiczenia() {
    int doneDelete = 0;
    doneDelete = mDb.delete(TABLE_CWICZENIA, null , null);
    Log.w(TAG, Integer.toString(doneDelete));
    return doneDelete > 0;
}
public Cursor fetchCwiczeniaByName(String inputText) throws SQLException {
    Log.w(TAG, inputText);
    Cursor mCursor = null;
    if (inputText == null  ||  inputText.length () == 0)  {
        mCursor = mDb.query(TABLE_CWICZENIA, new String[] {KEY_ID,
                        KEY_NAME, KEY_KIND, KEY_URL, KEY_SCORE, KEY_SERIES},
                null, null, null, null, null);
    }
    else {
        mCursor = mDb.query(true, TABLE_CWICZENIA, new String[] {KEY_ID,
                        KEY_NAME, KEY_KIND, KEY_URL, KEY_SCORE, KEY_SERIES},
                KEY_NAME + " like '%" + inputText + "%'", null,
                null, null, null, null);
    }
    if (mCursor != null) {
        mCursor.moveToFirst();
    }
    return mCursor;
}
public Cursor fetchAllcwiczenia() {
    Cursor mCursor = mDb.query(TABLE_CWICZENIA, new String[] {KEY_ID,
                    KEY_NAME, KEY_KIND, KEY_URL, KEY_SCORE, KEY_SERIES},
            null, null, null, null, null);
    if (mCursor != null) {
        mCursor.moveToFirst();
    }
    return mCursor;
}
public Cursor fetchOneCwiczenie(String name) {
    String query = "SELECT * FROM " + TABLE_CWICZENIA + " WHERE name='"+name+"'";
    Cursor c = mDb.rawQuery(query,null);
    if(c != null) {
        c.moveToFirst();
    }
    return c;
}
public void insertSomeCwiczenia() {
    createCwiczenie("Pompki","Klatka piersiowa","https://www.youtube.com/watch?v=bwnidT3CB_Q",0,3);
    createCwiczenie("Pompki na poręczach","Triceps","https://www.youtube.com/watch?v=Cufsu3IHhCo",0,3);
    createCwiczenie("Odwrotne wiosłowanie","Plecy","https://www.youtube.com/watch?v=8qCn76yKhro",0,3);
    createCwiczenie("Spięcia brzucha leżąc","Górna część mięśni brzucha","https://www.youtube.com/watch?v=VVcm4LdmIwM",0,3);
    createCwiczenie("Unoszenie kolan","Dolna część mięśni brzucha","https://www.youtube.com/watch?v=Htx9Z8ZkiCg",0,3);
    createCwiczenie("Skręty tułowia","Mięśnie skośne brzucha","https://www.youtube.com/watch?v=i7smKA3mgBU",0,3);
    createCwiczenie("Przysiady","Uda","https://www.youtube.com/watch?v=NEduXlZ8zSk&t",0,3);
    createCwiczenie("Wspięcia na palce","Mięśnie łydek","https://www.youtube.com/watch?v=Wri0VppFWCY",0,3);
    createCwiczenie("Podciąganie na drążku","Mięśnie łydek","https://www.youtube.com/watch?v=7hM1iriAxx8",0,3);
}

}

当你实际上没有类似String[]参数时,没有必要传递String[]。你能做的就是简单地name查询,因为只有一个name

public int updateScore(String name, int wynik) {
    ContentValues contentValues = new ContentValues();
    contentValues.put(KEY_SERIES,wynik);
    int c = mDb.update(TABLE_CWICZENIA,contentValues, KEY_NAME + " = " + name , null);
    return c;
}

最新更新