[RESOLVIDO] Mensagem de erro para valores repetidos

4 respostas Resolvido
mysqlwindows-forms
L

Estou em um pequeno projeto com Windows Forms e MySql.
Ao enviar o cadastro, se a matrícula já existir no banco, ele exibe o MessageBox com todas as linhas do erro, porque meu código, nessa parte, está assim:

catch (Exception ex)
                {
                    MessageBox.Show("Erro: " + ex.ToString());
                }

Tem alguma forma de eu verificar se a matrícula já existe, para exibir um MessageBox melhor caso a matrícula já esteja registrada?

4 Respostas

Jhonatas_Tomaz

Olha a minha sugestão é você utilizar o java pois é uma linguagem que é mais fácil de mexer com banco de dados e fazer transações no mesmo.E possui uma biblioteca espeçifica e fácil de lidar

L

A minha sugestão seria usar Python que acho muito mais simples, mas foi pedido em C#, aí já viu né :roll_eyes:

Jhonatas_Tomaz
Solucao aceita

Bom.Faz um método com uma consulta no seu banco usando um select passando e faz um condição se (if) o campo definido no banco de dados como primary key e se ele retornar o objeto é porque existe e manda retornar o valor

L

Resolvi dessa forma mesmo. Criei um método para verificar e de acordo com o return (true/false) eu exibo o MessageBox falando do erro de forma mais clara do que retornava antes. O método ficou assim:

public bool VerificaChapa(string pChapa)
            {
                string sql = "SELECT * FROM ASSOCIADOS WHERE NUMERO_CHAPA=" + pChapa;

                var connection = new MySqlConnection(ConnectionString);
                MySqlCommand command = new MySqlCommand(sql, connection);
                command.Parameters.Add("@NUMERO_CHAPA", MySqlDbType.Int32);
                connection.Open();

                var result = command.ExecuteScalar();

                if (result != null)
                {
                    return (int)result > 0;
                }
                return false;
            }

E o if para exibir o MessageBox:

else if (VerificaChapa(txtChapa.Text) == true)
            {
                MessageBox.Show("Chapa já cadastrada.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
Criado 3 de julho de 2019
Ultima resposta 8 de jul. de 2019
Respostas 4
Participantes 2