2013-08-14 5 views
-1

жаль им рода новичка,как я выборка записей из SQL

У меня есть простое приложение, которое хранит данные на одной странице и извлекает его на другом. я продолжаю получать ошибку, когда я пытаюсь извлечь данные, заявив, что такой столбец не найден. пожалуйста, помогите

это мой код, откуда я ввести данные, EnterDetails.java

  @Override 
     public void onClick(View arg0) { 
      EditText holdersala = (EditText) findViewById(R.id.rawsalary); 
      EditText wantspercentage = (EditText) findViewById(R.id.wantspercent); 
      EditText needspercentage = (EditText) findViewById(R.id.needspercent); 

      String holdersalary = holdersala.getText().toString(); 
      final int salary = Integer.parseInt(holdersalary); 

      String holderwantsp = wantspercentage.getText().toString(); 
      final int wantsp = Integer.parseInt(holderwantsp); 

      String holderneedsp = needspercentage.getText().toString(); 
      final int needsp = Integer.parseInt(holderneedsp); 

      if(wantsp + needsp <= 100){ 

       DatabaseAdapter databaseAdapter = new DatabaseAdapter(getApplicationContext()); 
       databaseAdapter.open(); 
       databaseAdapter.createRecordS(salary); 
       databaseAdapter.createRecordW(wantsp); 
       databaseAdapter.createRecordN(needsp); 
       databaseAdapter.close(); 

       startActivity(new Intent(EnterDetails.this, Summary.class)); 
      } else { 
      } 

      Toast toast = Toast.makeText(EnterDetails.this, "incorrect data", 5000); 
      toast.setGravity(Gravity.CENTER, 0, 0); 
      toast.show(); 
     } 
    }); 

код из которого я извлечения данных

 TextView bn = (TextView) findViewById(R.id.budget_need); 


    DatabaseAdapter databaseAdapter = new DatabaseAdapter(getApplicationContext()); 
     databaseAdapter.open(); 
     bn.setText(databaseAdapter.fetchRecordS(1)); 
     databaseAdapter.close(); 

и код из моего databaseAdapter.java

public class DatabaseAdapter { 

private Context context; 
private SQLiteDatabase database; 
private DatabaseOpenHelper dbHelper; 

public DatabaseAdapter(Context context) { 
    this.context = context; 
} 
public DatabaseAdapter open() throws SQLException { 
    dbHelper = new DatabaseOpenHelper(context); 
    database = dbHelper.getWritableDatabase(); 
    return this; 
} 

public void close() { 
    dbHelper.close(); 
} 
public long createRecordS(int interger) { 
    ContentValues contentValue = new ContentValues();   
    contentValue.put("salafig", interger);    
    return database.insert("maindata", null, contentValue); 
} 
public long createRecordN(int interger) { 
    ContentValues contentValue = new ContentValues();   
    contentValue.put("needsper", interger);    
    return database.insert("maindata", null, contentValue); 
} 
public long createRecordW(int interger) { 
    ContentValues contentValue = new ContentValues();   
    contentValue.put("wantsper", interger);    
    return database.insert("maindata", null, contentValue); 
} 
public int fetchRecordS(long rowId) throws SQLException { 
    Cursor mCursor = database.query(true, "maindata", new String[] { "salafig", 
      "needsper", "wantsper" }, "salafig"+ rowId, null, null, null, null, null); 
    if (mCursor != null) { 
     mCursor.moveToFirst(); 
     return (mCursor.getInt(1)); 
    } 
    return (Integer) null; 
} 
public int fetchRecordW(long rowId) throws SQLException { 
    Cursor mCursor = database.query(true, "maindata", new String[] { "salafig", 
      "needsper", "wantsper" }, "wantsper"+ rowId, null, null, null, null, null); 
    if (mCursor != null) { 
     mCursor.moveToFirst(); 
     return (mCursor.getInt(1)); 
    } 
    return (Integer) null; 
}public int fetchRecordN(long rowId) throws SQLException { 
    Cursor mCursor = database.query(true, "maindata", new String[] { "salafig", 
      "needsper", "wantsper" }, "needsper"+ rowId, null, null, null, null, null); 
    if (mCursor != null) { 
     mCursor.moveToFirst(); 
     return (mCursor.getInt(1)); 
    } 

Надеюсь, что это имеет смысл, если аванс за любую помощь.

ответ

0

Look at HERE, чтобы проверить правильность синтаксиса метода запросов SQLiteDatabase. Четвертый параметр метода является условие выбора, то всё должно быть, что-то вроде:

"salafig = "+ rowId" 

вместо этого:

"salafig"+ rowId" 
+0

Я советую вам создать константу, чтобы сохранить таблицу базы данных и имена столбцов, одинаковые по всему вашему коду, ex: ** 'public static final String COLUMN_SALAFIG \t =" salafig ";' **, В противном случае вы будете отлаживать такие проблемы. –

Смежные вопросы