Dúvida tratamento de erro em conexão SQL Server

Olá pessoal, gostaria apenas saber se é possível fazer uma coisa rs

Quando insiro algum comando errado num arquivo java vazio pra lincar BD em Java, o próprio BD me retorna um erro.

Por exemplo quando tento inserir 2 valores iguais em uma PK, ele retorna “general error”

tem como eu pegar esse erro e tratar fazendo com que apareceça “login ja cadastrado” em um OptionPane ???

Valew !!!

Oi tsalsicha,

http://msdn.microsoft.com/pt-br/library/ms181043.aspx :roll:

Não não amigo rs, aquilo foi um exemplo pros erros que o BD retorna, nao é necessariamente ESSE erro

estou generalizando, quero saber se consigo “formatar” o erro pro usuário :wink:

Fala ai tsalsicha,

Acredito que o que vc esteja procurando seja isso:

SELECT error,severity,dlevel,description,msglangid FROM master.dbo.sysmessages

O SqlServer possui uma tabela dentro do schema MASTER chamada sysmessages, esta possui todas as descrições do erros dados pelo sqlserver, inclusive o erro citado como exemplo, acredito que para o que vc deseja, seja fazer uma tabela de-para com os erros traduzidos.
Acho que o erro reportado no Exception seja o campo Error na consulta acima.

Abração 8)
Max

Exemplo simples de como eu faço.

 try {
            ResultSet resultado = bd.consultaTable("SELECT login FROM usuario WHERE login='juca'");//faz a pesquisa para verificar se existe determinado usuario
            if (resultado != null && resultado.next()) {//Se existir resultado(quer dizer que ja existe um usuario juca cadastrado)
                
                JOptionPane.showMessageDialog(null, "Esse usuário não está disponível");

            }
        } catch (java.sql.SQLException e) {
            System.err.println("Erro de SQL:" + e.getMessage());
        }