0

私のアプリケーションには、2 つのテーブルがあるデータベースがあります。次の 2 つのクエリがあります。

1.デフォルト値でデータベースを作成することはできますか?? 2.5 つの編集ボックスと 1 つの保存ボタンがある 1 つの画面があります。ユーザーが保存ボタンを押すと、データベース内の 5 つの編集ボックスの値が更新されます (古いものを置き換えます)。

私を助けてください。

これはデータベースを作成するためのものです:

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

これはexesqlです:

public void onCreate(SQLiteDatabase db)
{
db.execSQL(DATABASE_SPIN);
}

私の移入コードは次のとおりです。

Cursor c=db.getAllTitlesSpin();
           startManagingCursor(c);
           int spinColumnIndex = c.getColumnIndexOrThrow("spin"); 

//          String group[]=getResources().getStringArray(R.array.group_array);

            ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(
                    this, android.R.layout.simple_spinner_item);
            adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            s2.setAdapter(adapter1);    

            if (c.moveToFirst()) { 
                do { 
                    adapter1.add(c.getString(spinColumnIndex)); 
                } 
                while (c.moveToNext()); 
                if (db != null) { 
                db.close(); 
            } 
            }
4

2 に答える 2

1
  • 列にデフォルト値を持つテーブルを作成できます

すべてのテーブル列に明示的な値を提供しない INSERT ステートメントによって行がテーブルに挿入されるたびに、新しい行に格納される値は、次のようにデフォルト値によって決定されます。

列のデフォルト値が定数 NULL、テキスト、blob、または符号付き数値である場合、その値は新しい行で直接使用されます。

列のデフォルト値が括弧内の式である場合、その式は挿入される行ごとに 1 回評価され、その結果が新しい行で使用されます。

列のデフォルト値が CURRENT_TIME、CURRENT_DATE、または CURRENT_TIMESTAMP の場合、新しい行で使用される値は、現在の UTC 日付および/または時刻のテキスト表現です。CURRENT_TIME の場合、値の形式は「HH:MM:SS」です。CURRENT_DATE の場合、「YYYY-MM-DD」。CURRENT_TIMESTAMP の形式は「YYYY-MM-DD HH:MM:SS」です。

  • クエリの出力を使用してテーブルを作成および設定できSelectます ( CREATE TABLE ... AS SELECT ステートメント)
  • テーブルの構造が同じである限り、1 つのテーブルの内容をコピーして、それを使用して別のテーブルに入力することができます。INSERT INTO Destination SELECT * FROM Source;
于 2012-07-17T10:18:09.450 に答える
0
  1. SQLiteOpenHelper を使用してデータベースを作成している場合は、onCreate メソッドを使用してデータベースを作成し、その後、別の db.execSQL() 呼び出しを使用してそこに保存するデフォルト値を入力します。
  2. 他のデータベースと同じように、sqlitedb の値を更新できます。_id フィールドを使用して、更新する行を識別します。

これまでに 5 つの値だけを保存する場合は、SharedPreferencesを使用することをお勧めします。

于 2012-07-17T10:35:30.340 に答える