Bom dia pessoal, gostaria de cadastrar o jogador somente se o nome dele não fosse igual a nenhum outro cadastrado com mesmo nome, porém quando recebo os dados no cursor ou quanto não é retornado dados no cursor ele esta apresentando erro, como farei essa verificação, alguém poderia ajudar?
public void ConsultarSql(String sql) {
try {
dadosopenhelper = new BancoOpenHelper(this);
conexao = dadosopenhelper.getWritableDatabase();
Cursor cursor = conexao.rawQuery(sql, null);
int Coluna_id = cursor.getColumnIndex("id");
int Coluna_nome = cursor.getColumnIndex("nome");
int Coluna_nivel = cursor.getColumnIndex("nivel");
int Coluna_presente = cursor.getColumnIndex("presente");
if(cursor.getCount()>0) {
cursor.moveToFirst();
do {
Log.i("RESULTADO - id: ", cursor.getString(Coluna_id));
Log.i("RESULTADO - nome: ", cursor.getString(Coluna_nome));
Log.i("RESULTADO - nivel: ", cursor.getString(Coluna_nivel));
Log.i("RESULTADO - presente: ", cursor.getString(Coluna_presente));
cursor.moveToNext();
} while (!cursor.isAfterLast());
}
} catch (SQLException ex) {
Context context = getApplicationContext();
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, "Erro ao Consultar! : " + ex, duration);
toast.show();
}
}
criarConexao();
String Consultar_nome = "select id, nome, nivel, presente from jogadores where nome = '" + nome + "';";
ConsultarSql(Consultar_nome);
ArrayList<String> Nomes = new ArrayList<>();
int j = 0;
if (cursor.getCount() > 0) {
cursor.moveToNext();
for (int i = 0; i < cursor.getCount(); i++) {
Nomes.add(String.valueOf(cursor.getString(1)));
}
for (int i = 0; i < Nomes.size(); i++) {
if (nome.equals(Nomes.get(i))) {
j = 1;
}
}
}
if (j == 0) {
String sql = "Insert into jogadores (nome, nivel, presente) values ('" + nome + "','" + nivel + "','" + presente + "')";
ExecSql(sql);
Context cont = getApplicationContext();
int durat = Toast.LENGTH_SHORT;
Toast toa = Toast.makeText(cont, "Jogador Inserido!", durat);
toa.show();
finish();
} else {
Context contex = getApplicationContext();
int duratin = Toast.LENGTH_SHORT;
Toast toas = Toast.makeText(contex, "Já existe jogador com este nome!", duratin);
toas.show();
}
}