Duvida restrição de login

Galera bom dia !

Estou desenvolvendo um projeto no qual o usuario ao fazer o 1º login tem que criar um personagem e depois seguir ao menu do sistema.

Ao efetuar o 2º Login se o usuario já possuir um personagem pode seguir direto para o menu do sistema caso contrario vai para a criação do personagem.

Eu nao estou conseguindo relaziar esta condição estou utilizando baco de dados mysql(PHPMyadmin) e o netbeans ja tentei de varias formas alguem poderia me ajudar.

O que você já conseguiu fazer? Poste o código.

private void btnLogarMouseClicked(java.awt.event.MouseEvent evt) {
	// COMANDO PARA EFETUAR O LOGIN;
	try {
		Autenticar login = new Autenticar();
		Login lg = new Login(txtUsuario.getText(), txtSenha.getText());
		int registro = login.autentica(lg);
		
		if(registro == 1) {
			String sql = "select * from Personagem where Usuario = ?";
			
			try(PreparedStatement stm = con.prepareStatement(sql)) {
				ResultSet rs = stm.executeQuery();
				rs.next();
				
				if(rs.getString("Usuario").equals(txtUsuario.getText())) {
					Tela_Jogo jogo = new Tela_Jogo();
					jogo.setVisible(true);
					dispose();
				} else {
					Tela_Personagem tela = new Tela_Personagem(txtUsuario.getText());
					tela.setVisible(true);
					dispose();
				}
			}
		} else {
			JOptionPane.showMessageDialog(null, "incorreto","erro",JOptionPane.ERROR_MESSAGE);
		}
	} catch (SQLException ex) {
		Logger.getLogger(Tela_Login.class.getName()).log(Level.SEVERE, null, ex);
	}
}

Nâo achei no código algo que pudesse causar erro. Qual o problema realmente?

Esta dando erro na consulta SQL para fazer a restrição do login

Qual?

A consulta espera um parâmetro (?) e eu não o identifiquei onde você o informa. De fato, você está passando a “string SQL” para o prepareStatement sem esse parâmetro.
Como sugestão:

public class Usuario {
	public static bean.Usuario pesquisarFuncionario(bean.Usuario usuariosSelecionado) throws SQLException{
	
		try(Connection conectaBancoDeDados = ConectaBancoDeDados.getConexao()){
		
			String stringSQLPesquisa = "SELECT * FROM Usuarios "
				"WHERE usuario = usuariosSelecionado";
				
			try(PreparedStatement pstmt = conectaBancoDeDados.prepareStatement(stringSQLPesquisa)){
			
				try(ResultSet rstSet = pstmt.executeQuery()){
					bean.Usuario usuarioEncontrado = new bean.Usuario();
					
					usuarioEncontrado.setCodigoUsuario(rstSet.getInt("cod_usuario"));
					usuarioEncontrado.setNomeUsuario(rstSet.getInt("nome_usuario"));
					
					rstSet.close();
				}
				pstmt.close();
			}
			conectaBancoDeDados.close();
		}
		return usuarioEncontrado;
	}
}

Daí receberia as informações na view (e evitaria de misturar a persistência com a exibição). As informações quando lá (na view), poderiam ser manipuladas como fez:

private boolean verificarStatus(bean.Usuario usuarioInformado){
	try{
		Autenticar login = new Autenticar();
		Login lg = new Login(txtUsuario.getText(), txtSenha.getText());
		int registro = login.autentica(lg);
		bean.Usuario usuario = dao.Usuario.pesquisar(usuarioInformado);
		
		if(registro == 1){
			if(usuario.getNomeUsuario().equals(txtUsuario.getText())){
			
				<código>
				return true;
			}else{
				<código>
				return false;
			}
		}else{
			JOptionPane.showMessageDialog(null, "Incorreto","Erro",JOptionPane.ERROR_MESSAGE);
		}
	}catch(SQLException sqle){
		System.out.println("ERRO: " + sqle.getMessage());
	}
}

private void btnLogarMouseClicked(java.awt.event.MouseEvent evt) {
	boolean status = false;
	status = verificarStatus(ususuario);
	
	if(status){
		lSystem.out.println("Ok!");
	}
}