2014-11-16 6 views
0

Это ошибка: http://i.imgur.com/eR1N1j0.pngНеизвестная ошибка при вставке данных в SQLite таблице базы данных

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

getIDUsuario код метода The LoginOpenHelper заключается в следующем:

public String getIDUsuario(String usuario, String senha){ 
     SQLiteDatabase db = this.getWritableDatabase(); 

     String id = "id_usuario"; 

     String[] columns = {id}; 
     String[] selectionArgs ={usuario, senha}; 

     Cursor cursor = db.query("usuarios", columns, "nome_usuario=? AND senha=?", selectionArgs, null, null, null); 

     StringBuffer buffer = new StringBuffer(); 
     while(cursor.moveToNext()){ 
      int index0 = cursor.getColumnIndex(id); 
      int idUsuario = cursor.getInt(index0); 
      buffer.append(idUsuario); 
     } 

     return buffer.toString(); 
    } 

Line 91 это:

Cursor cursor = db.query("usuarios", columns, "nome_usuario=? AND senha=?", selectionArgs, null, null, null); 

Это код для метода cadastrarTransacao в классе MockActivityTransacao:

public void cadastrarTransacao(View view) { 
     TransacaoDTO transacaoDTO = new TransacaoDTO(); 
     LoginDTO loginDTO = new LoginDTO(); 

     //int idUsuario = Integer.parseInt(activity.getIDUsuario(loginOpenHelper)); 

     transacaoDTO.setDesc(edtDescricao.getText().toString()); 
     transacaoDTO.setData(edtData.getText().toString()); 
     transacaoDTO.setValor(Long.parseLong(edtValor.getText().toString())); 
     transacaoDTO.setIdUsuario(Integer.parseInt(loginOpenHelper.getIDUsuario(loginDTO.getUsuario(), loginDTO.getSenha()))); 

     ValidacaoMock resultado = mockBO.cadastrarOperacao(transacaoDTO); 

     MensagemUtil.addMsg(this, resultado.getMensagem()); 

     Intent i = new Intent(this, MockListActivity.class); 
     startActivity(i); 
     finish(); 
    } 

Строка 53 это:

transacaoDTO.setIdUsuario(Integer.parseInt(loginOpenHelper.getIDUsuario(loginDTO.getUsuario(), loginDTO.getSenha()))); 

Я думаю, что проблема заключается в том, что код не запрашивает значения из LoginDTO, который имеет этот код:

public class LoginDTO implements Serializable { 

    /** 
    * 
    */ 
    private static final long serialVersionUID = 1111108194849414002L; 

    private String usuario; 
    private String senha; 

    public String getUsuario() { 
     return usuario; 
    } 

    public void setUsuario(String usuario) { 
     this.usuario = usuario; 
    } 

    public String getSenha() { 
     return senha; 
    } 

    public void setSenha(String senha) { 
     this.senha = senha; 
    } 
} 

Я не могу думать о пути ее решения.

+0

показать logcat plz. –

+0

@MohammedAli он находится по ссылке прямо здесь http://i.imgur.com/eR1N1j0.png –

+0

@MikeOliveira вы должны добавить фактическую информацию об ошибке _ в самом вопросе _, а не (просто) в качестве ссылки. –

ответ

0

«Значение привязки» указывает на выборArgs запроса. Если любое из значений selectionArgs равно null, вы можете получить эту ошибку. Распечатайте на логарифме и проверьте, нет ли

String[] selectionArgs ={usuario, senha}; 

Любой пользователь usuario или senha имеет значение null.

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