A primeira inserção o ID é inserido inicialmente 0 o erro retornado é o seguinte:
com.microsoft.sqlserver.jdbc.SQLServerException:
Violation of PRIMARY KEY constraint ‘PK__Aluno__06370DAD2022C2A6’.
Cannot insert duplicate key in object ‘dbo.Aluno’. The duplicate key value is (0).
Ja li muita coisa sobre o assunto, porém a questão seria como tratar esse erro ates
da persistencia.
Grato pela ajuda.
Tabela do Banco de Dados
CREATE TABLE Aluno
(
Codigo INT PRIMARY KEY IDENTITY (1,1)NOT NULL,
Nome VARCHAR(50) null,
Sobrenome VARCHAR(50) null,
CodCidade INT null,
)
Classe de persistencia
private Connection btSalvarActionPerformed(java.awt.event.ActionEvent evt) {
String codigo = tfCod.getText();
String nome = tfNome.getText();
String sobrenome = tfSobrenome.getText();
String codcidade = tfCodCidade.getText();
try {
//Concatenando as STRINGS pelo NOME
//atualiza codigo
stmt.executeUpdate("SET IDENTITY_INSERT Aluno ON INSERT INTO Aluno (codigo,nome,sobrenome,codcidade)VALUES ('" + codigo + "','" + nome + "','" + sobrenome + "','" + codcidade + "')");
try {
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "Salvo com Sucesso!!!" + e.getMessage());
}
} catch (SQLException e) {
JOptionPane.showMessageDialog(this, "Erro ao tentar salvar" + e.getMessage());
}
return con;
}