Bom dia amigos,
Pessoal, criei o método (isUsuario) para realizar o LOGIN e SENHA buscando da base de dados, mas estou com problemas.
Ao realizar o (SELECT) para a verificação ele está sempre retornando o valor (0) mesmo que esses dados existam no banco.
Alguém consegue me dar uma força.
Seguem as classes
Classe UsuarioDao
package br.com.mylims.model;
import br.com.mylims.bean.Usuario;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class UsuarioDao extends SQLiteOpenHelper{
private static final String NOME_BANCO = "teste_usu";
private static final String TABELA = "USUARIO";
private static final int VERSION = 1;
private static final String[] COLS = {"CDUSUARIO","NMUSUARIO","EMAIL","LOGIN","SENHALOGIN"};
private static final String CATEGORIA = "coleta";
public UsuarioDao(Context context) {
super(context, NOME_BANCO, null, VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "CREATE TABLE " + TABELA + " (CODUSUARIO INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, NMUSUARIO VARCHAR(100) NOT NULL, EMAIL VARCHAR(100) NOT NULL, LOGIN VARCHAR(20) NOT NULL, SENHALOGIN VARCHAR(50) NOT NULL);";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVErsion, int newVersion) {
db.execSQL("TABLE IF EXISTS " + UsuarioDao.TABELA);
this.onCreate(db);
}
public boolean inserir(Usuario usuario){
try {
ContentValues valores = new ContentValues();
/**SETA OS VALORES NAS COLUNAS DO BANCO**/
valores.put("NMUSUARIO", usuario.getNome());
valores.put("EMAIL", usuario.getEmail());
valores.put("LOGIN", usuario.getLogin());
valores.put("SENHALOGIN", usuario.getSenha());
//ABRE O BANCO PARA O MODO ESCRITA
getWritableDatabase().insert(TABELA, null, valores);
Log.i(CATEGORIA, "LOG: dados cadastrados com sucesso!");
return true;
} catch (Exception e) {
Log.e(CATEGORIA, "erro metodo inserir usuario" + e);
return false;
}
}
/**METODO PARA REALIZAR O LOGIN**/
public boolean isUsuario(String login, String senha){
try {
Cursor rawQuery = getWritableDatabase().rawQuery("SELECT * FROM " + TABELA + " WHERE LOGIN = ? AND SENHALOGIN = ?", null);
int dados = rawQuery.getCount();
if(dados > 0){
Log.i(CATEGORIA, "OK: usuário correto!" + dados);
return true;
}
else
{
Log.i(CATEGORIA, "MENSAGEM DE LOG: não existe usuários cadastrado com estes dados!" + dados);
return false;
}
} catch (Exception e) {
Log.i(CATEGORIA, "ERRO: metodo isUsuario");
return false;
}
}
}
Classe LoginUsuarioController
package br.com.mylims.controller;
import br.com.mylims.R;
import br.com.mylims.bean.Usuario;
import br.com.mylims.model.UsuarioDao;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.Toast;
public class LoginUsuarioController extends Activity {
private EditText campoLoginUsuario;
private EditText campoSenhaUsuario;
private static final String CATEGORIA = "coleta";
/**CLASSE BEAN**/
private Usuario usuarioBean = new Usuario();
public void onCreate(Bundle icicle){
super.onCreate(icicle);
setContentView(R.layout.layout_login_usuario);
ImageButton cadastrar = (ImageButton)findViewById(R.id.btCadastrarUsario);
ImageButton voltar = (ImageButton)findViewById(R.id.btVoltarConfig);
cadastrar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
campoLoginUsuario = (EditText)findViewById(R.id.campoLoginUsuario);
campoSenhaUsuario = (EditText)findViewById(R.id.campoSenhaUsuario);
usuarioBean.setLogin(campoLoginUsuario.getEditableText().toString());
usuarioBean.setSenha(campoSenhaUsuario.getEditableText().toString());
String validaLogin = usuarioBean.getLogin().toString();
String validaSenha = usuarioBean.getSenha().toString();
UsuarioDao usuarioDao = new UsuarioDao(LoginUsuarioController.this);
if (validaLogin.equals("")) {
Toast.makeText(LoginUsuarioController.this, "Digite o seu login!", Toast.LENGTH_SHORT).show();
Log.i(CATEGORIA, "campo login em branco");
}
else if(validaSenha.equals("")){
Toast.makeText(LoginUsuarioController.this, "Digite sua senha!", Toast.LENGTH_SHORT).show();
Log.i(CATEGORIA, "campo senha em branco");
}
else
{
/**VERIFICA SE EXISTE O USUÁRIO NO BANCO**/
if(usuarioDao.isUsuario(validaLogin, validaSenha)){
Toast.makeText(LoginUsuarioController.this, "LOGIN E SENHA CORRETOS", Toast.LENGTH_SHORT).show();
Log.i(CATEGORIA, "MENSAGEM DE LOG: dados digitados corretamente!");
}
else
{
Toast.makeText(LoginUsuarioController.this, "DADOS INCORRETOS", Toast.LENGTH_SHORT).show();
Log.i(CATEGORIA, "MENSAGEM DE LOG: não existe este usuario no banco!");
carregaTelaCadastroUsuario();
}
}
}
});
}
/**METODO PARA CHAMAR A TELA DE CADASTRO DE USUARIO**/
private void carregaTelaCadastroUsuario() {
Intent it = new Intent(this, CadastroUsuarioController.class);
startActivity(it);
}
}
Desde já agradeço a força de todos.
