2012-01-25 77 views
0

我有一個表(分類)至少兩列(_id,名稱)。將第一列微調插入表

我有一個顯示列名的微調器。

現在,我需要將列:「_id」插入到另一個表中......但我不知道該怎麼做。

有什麼建議嗎?


我貼我正在使用的代碼:

public Cursor recuperaCategoria() 
    { 
    final UsuariosSQLiteHelper usdbh =new UsuariosSQLiteHelper(this, "DBLlistaCompra", null, 1); 
    final SQLiteDatabase db = usdbh.getWritableDatabase(); 
    String tableName = "Categorias"; 
    String[] columns = {"_id","Nombre"}; 

    return db.query(tableName, columns, null, null, null, null, null); 
    } 

public void recCatSpinner() { 
     final Spinner addCatSpinner = (Spinner) findViewById(R.id.spIdCategoria); 
     catCursor = recuperaCategoria(); 
     catCursor.moveToPosition(1); 
     catAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item); 
     addCatSpinner.setAdapter(catAdapter); 
     if (catCursor.moveToFirst()) { 
      do { 

      catAdapter.add(catCursor.getString(1)); 
      Valor = catCursor.getString(1); 
      Log.v("valor Add Cat 100", Valor); 
     } 
      while (catCursor.moveToNext()); 
      int id = catCursor.getInt(0); 
      String name = catCursor.getString(1); 

      Log.v("Dentro cursor","1"); 
      if (db != null) { 
      Toast.makeText(getBaseContext(),catCursor.getString(0),Toast.LENGTH_SHORT).show(); 

      db.close(); 
      } 
     } 
     startManagingCursor(catCursor); 
     //catCursor.close(); 
     addCatSpinner.setOnItemSelectedListener(
       new AdapterView.OnItemSelectedListener() { 
        public void onItemSelected(AdapterView<?> parent, 
         View view2, int pos, long id) { 
         //recID(); 
         valor = parent.getItemAtPosition(pos).toString(); 
         Log.v("valor Add Cat", valor); 

         } 
        public void onNothingSelected(AdapterView<?> parent) { 
         // view.setText("nada"); 
        } 
       }); 
     catCursor.close(); 
} 

我想,當我選擇微調一個項目(它顯示的列「農佈雷」),我保存到一個變量光標「_id」的第一列。

+0

如果你指的SQLite數據庫表,然後編寫一個SQL腳本,將讀取的ID,並把它們添加到另一張桌子。或者縮小你的問題。 – Maxim

+0

謝謝,這是一個sqllite。我正在使用在微調器中選擇的名稱編寫一個新的光標。 – user1107620

回答

1

讀值,以集合,然後編寫一個腳本將它們插入到另一個表

SQLiteDatabase db = getReadableDatabase(); 
String[] columns = { _id }; 
String selection = "column_name" + "=?"; 
String orderBy = "_id ASC"; 
String[] selectionArgs = new String[] { "something" }; 
String groupBy = null; 
String having = null; 

Cursor cursor = db.query("table_name", "columns", selection, selectionArgs, groupBy, having, orderBy); 

while(cursor.moveToNext()) { 

    int id = cursor.getInt(0); 
    String name = cursor.getString(1); 

    // Add values to a collection 
} 
if(db.isOpen()) db.close(); 

SQLiteDatabase db = getWritableDatabase(); 

for(int id : idCollection) { 

    ContentValues values = new ContentValues(); 
    values.put("_id", id); 

    try { 

    int id = db.insertOrThrow(TABLE_NAME, null, values); 
    } 
    catch (SQLException sqlEx) { 

    // do something with exception 
    } 
} 

if(db.isOpen()) db.close(); 
+0

非常感謝 – user1107620