1
resposta

Dúvidas para fazer uma mensagem de erro ao ter repetição do ID no banco de dados

Olá, a minha dúvida começou quando via a mensagem de resposta padrão que o banco de dados mandava quando utilizava o SQLServer com windows Forms, como mostra a formação de mesmo nome. Fiquei intrigado com essa questão e tentando de várias formas para saber quando o ID de entrada do cadastro seria igual aos ID's existentes no banco de dados. Inicialmente queria implementar sem utilizar de busca da solução, então pensei um pouco e cheguei na ideia de utilizar o mesmo código para "Buscar Todos" utilizado pelo professor para buscar os ID's existentes no banco de dados, o qual retorna uma lista com o JSON que inclui cada ID. Após isso, utilizar alguma forma de checar os ID's com list, do/while, for, entre outros. Como o código a seguir: (OBS: Pretendo fazer para um cadastro de fornecedores). A ideia é quando clicar no botão para adicionar um novo fornecedor passar por uma validação do ID digitado com os existentes no banco de dados. Insira aqui a descrição dessa imagem para ajudar na acessibilidadeCaso conheçam alguma outra forma de fazer a mudança dessa mensagem de erro, gostaria de saber.

1 resposta

Olá, Marco

Para fazer a validação do ID digitado com os existentes no banco de dados, você pode utilizar uma consulta SQL para verificar se o ID já existe antes de inserir um novo fornecedor. Dessa forma, você evita a repetição do ID.

Aqui está um exemplo de como você pode fazer isso:

// Supondo que você já tenha uma conexão com o banco de dados estabelecida

// Primeiro, crie a consulta SQL para verificar se o ID já existe
string consulta = "SELECT COUNT(*) FROM fornecedores WHERE id = @id";

// Em seguida, crie um comando SQL e defina o parâmetro @id com o valor digitado pelo usuário
SqlCommand comando = new SqlCommand(consulta, conexao);
comando.Parameters.AddWithValue("@id", idDigitado);

// Execute o comando e obtenha o resultado da consulta
int quantidade = (int)comando.ExecuteScalar();

// Verifique se a quantidade é maior que zero, indicando que o ID já existe
if (quantidade > 0)
{
    // Exiba uma mensagem de erro informando que o ID já está em uso
    MessageBox.Show("O ID já está em uso. Por favor, escolha outro ID.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
    // Insira o novo fornecedor no banco de dados
    // ...
}

Essa é uma forma simples de fazer a validação do ID antes de inserir um novo fornecedor. Você pode adaptar o código de acordo com a sua estrutura de banco de dados e necessidades específicas.

Espero ter ajudado e bons estudos!