0

こんにちは、私はこのようなデータベースを持っています

public class Dbhelper extends SQLiteOpenHelper{

private static final String DATABASE_NAME="ComboBox.db";
private static final int SCHEMA_VERSION=1;
public SQLiteDatabase db;
public String [][] isiDb={
        {"MI","Minimarket"},{"IDM","Indomaret"},{"CRM","Ceriamart"},{"OMI","OMI"},{"CK","Circle K"},
        {"7EL","7 Eleven"},{"STM","Starmart"},{"AX","Alfa Express"},{"MID","Alfa Midi"},{"LWN","Lawson"},
        {"YMT","Yomart"},{"HRO","Hero"},{"SDO","Superindo"},{"HPM","Hypermart"},{"SWN","Swalayan"}

};

public Dbhelper(Context context) {
    super(context, DATABASE_NAME, null, SCHEMA_VERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL("CREATE TABLE isicombo (kdcombo text PRIMARY KEY,descp text)");
    for(int i=0; i<=1;i++)
     {
         db.execSQL("INSERT INTO isicombo(kdcombo,descp) VALUES ('"+isiDb[i][0]+"','"+isiDb[i][1]+"')");
     }
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // no-op, since will not be called until 2nd schema
    // version exists
    db.execSQL("DROP TABLE IF EXIST ComboBox.db");
    onCreate(db);

}

public Cursor getAllProjectss() {
    // TODO Auto-generated method stub
    return(getReadableDatabase()
            .rawQuery("SELECT * from isicombo",null));
}

コンボボックスを作成したいのですが、このコンボボックスにデータベースのデータを入力したいのですが、データをコンボボックスに入力する方法がわかりません.簡単なコードを教えていただけますか??ありがとうございます

私はこのような私のコードで試してみてください

public class CobaCombo extends Activity implements AdapterView.OnItemSelectedListener {

TextView selection;
Dbhelper helper = new Dbhelper(this);
String temp;


@Override
public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.main);
    selection = (TextView) findViewById(R.id.selection);
    Spinner spin = (Spinner) findViewById(R.id.spinner);
    Cursor anu = helper.getAllProjectss();
    if(anu.moveToFirst()){
        do{
            temp += anu.getString(1);

        }while(anu.moveToNext());
    }

    String[] isi = { ""+temp+"" };
    System.out.println(isi);    
    spin.setOnItemSelectedListener(this);
    ArrayAdapter<String> aa = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, isi);
    aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spin.setAdapter(aa);

}

しかし、コンボボックスはデータベースからのデータを長い文字列で埋めます..ドロップダウン項目ではありません..助けてください

4

2 に答える 2

0

これで、カーソルを返すrawQueryを使用してクエリを作成できます。

Cursor mCursor = mSQLiteDatabase.rawQuery("Select * from myTable", null);

ここで、カーソルを繰り返し処理して、必要なデータをフェッチする必要があります。これがサンプルコードです。

于 2012-04-16T07:30:13.997 に答える
0

あなたの声明の中で

db.execSQL("CREATE TABLE isicombo (kdcombo text PRIMARY KEY,descp text)");

;最後に追加します。

db.execSQL("CREATE TABLE isicombo (kdcombo text PRIMARY KEY,descp text);");

InsertStatementで行ったのと同じ間違い。

于 2012-04-16T07:31:35.600 に答える