0

私のアプリケーションでは、2 列と 5 行のテーブルを作成する必要があります。今度は、一度に 5 つの値を更新する必要があります。5EditText秒の1 つの画面とButton保存があります。[保存] をクリックすると、5 つの編集ボックスの値がデータベースで更新されます。誰かがクエリを手伝ってくれますか?事前に感謝します.

私のテーブル構造は次のとおりです。

id    name
1     wee
2     fvfb
3     erer
4     fgfg
5     fggfg

private static final String DATABASE_CREATE =

"create table incomexpense(_id integer primary key autoincrement,"+"price text not null,description text not null,"+"quantity text not null,"+"total text not null,"+"category text not null,"+"recurrence text not null,"+"date text not null,"+"groups text not null);";


private static final String DATABASE_TABLESPIN = "create table spinner(_id primary key autoincrement,"+" spin text not null);";

しかし、テーブルが 1 つだけ表示されますか??助けてください..

4

3 に答える 3

1

このクラスはテーブルを作成します。このクラスを編集して必須フィールドを作成できます。

public class TableCreater extends SQLiteOpenHelper 
{

    public static final String DATABASE_NAME = "userregister.db";
    public static final int VERSION = 1;

    public static final String TABLE_NAME = "USER_SESSION";

    public static final String COLUMN_ID = "_id";
    public static final String USER_ID = "user_id";

    public static final String TABLE_CREATE =

    "create table " + TABLE_NAME + " (" + COLUMN_ID
            + " integer primary key autoincrement," + USER_ID + " integer);";

    public static final String FIRST_QUERY = "insert into " + TABLE_NAME
            + " (user_id) values(0);";

    public loginchecker(Context context) {
        super(context, DATABASE_NAME, null, VERSION);
        // TODO Auto-generated constructor stub
    }

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

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
        Log.w(loginchecker.class.getName(),
                "Upgrading database from version " + oldVersion + " to "
                        + newVersion + ", which will destroy all old data");
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
        onCreate(db);

    }

}

このメソッドは、テーブル内のデータを更新します..必要に応じて編集できます

public InsertingClass InsertID(int uid) 
    {
        ContentValues values = new ContentValues();
        values.put(loginchecker.USER_ID, uid);
        long insertedId = database.insert(loginchecker.TABLE_NAME, null,
                values);
        Cursor cursor = database.query(loginchecker.TABLE_NAME, allColumnsLogin,
                loginchecker.COLUMN_ID + " = " + insertedId, null, null,
                null, null);
        cursor.moveToFirst();
        return cursorToModel(cursor);
    }
于 2012-07-17T07:35:27.307 に答える
0

テーブルの作成については、SQLiteOpenHelperを参照してください。データベースでのcrud操作については、ContentProviderを参照してください

于 2012-07-17T09:16:35.947 に答える
0

これを試して:

public boolean updateValue(long rowId, String useridvalue)
{
    ContentValues args = new ContentValues();
    args.put(USER_ID, useridvalue);
    return db.update(TABLE_NAME, args,
            COLUMN_ID + "=" + rowId, null) > 0;
}
于 2012-07-17T10:24:29.987 に答える