Como fazer else if

05/06/2014

0

Pessoal consegui chegar até aqui com este código, mas não sei como concluir, alguém sabe ?

private void BtnSalvar_Click(object sender, EventArgs e)
        {
            try
            {
                OleDbConnection conexao = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Application.StartupPath + "\\BDBiblioteca.mdb");

                OleDbCommand comando = new OleDbCommand("SELECT Nome, Login FROM Funcionario WHERE Nome = @nome OR Login = @login", conexao);

                comando.Parameters.AddWithValue("@nome", nomeTextBox.Text);
                comando.Parameters.AddWithValue("@login", loginTextBox.Text);

                conexao.Open();

                OleDbDataReader reader = null;

                reader = comando.ExecuteReader(CommandBehavior.CloseConnection);

                if ((reader.HasRows) && (reader.Read())
                {
                    else if (nomeTextBox.Text =              )
				{
				  MessageBox.Show("Nome já Cadastrado !", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        	  nomeTextBox.Focus();
                             nomeTextBox.ForeColor = Color.Red;
				}
		      else if (loginTextBox.Text =		)
				{
				  MessageBox.Show("Login já Cadastrado !", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
			         loginTextBox.Focus();
                             loginTextBox.ForeColor = Color.Red;
                    }
                    else if (senhaTextBox.Text != ConfSenhatextbox.Text)
                    {
                    		MessageBox.Show("Senhas não são Iguais !", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    		ConfSenhatextbox.Focus();
                    		ConfSenhatextbox.ForeColor = Color.Red;
                }
                else
                {
                    this.Validate();
                    this.funcionarioBindingSource.EndEdit();
                    this.tableAdapterManager.UpdateAll(this.bDBibliotecaDataSet);
                    MessageBox.Show("Registro Salvo com Sucesso !", "Salvar", MessageBoxButtons.OK, MessageBoxIcon.Information);
Jair Souza

Jair Souza

Responder

Posts

06/06/2014

Kelvin Ott

É essa parte do código que valida se é o nome ou o login que já existe, porém eu não sei se é essa forma certa de buscar o valor da linha retornada do seu dataReader.

if (nomeTextBox.Text == reader["Nome"].ToString())
                    {
                        MessageBox.Show("Nome já Cadastrado !", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        nomeTextBox.Focus();
                        nomeTextBox.ForeColor = Color.Red;
                    }
                    else if (loginTextBox.Text == reader["Login"].ToString())
                    {
                        MessageBox.Show("Login já Cadastrado !", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        loginTextBox.Focus();
                        loginTextBox.ForeColor = Color.Red;
 
                    }
Responder

06/06/2014

Jair Souza

Pois como tinha lhe dito, esta forma eu já havia tentado antes de tu indicares, mas não tinha funcionado, eu tentei novamente com o acréscimo do "select Nome AS nome..." que tu indicou, mas como disseste não deve ser esta forma correta, por que o restante funciona.
Responder

06/06/2014

Jair Souza

Sim, mas como não estou na minha máquina hoje, vou poder somente amanhã a noite, então posto aqui.
Obrigado, pelo seu interesse em ajudar, valeu!
Responder

06/06/2014

Kelvin Ott

De nada cara, trabalho apenas 2 anos na área, vim a procura de foruns para que eu possa ajudar e aprender ao mesmo tempo, no final tudo pelo conhecimento. Até amanhã a noite.
Responder

09/06/2014

Jair Souza

Bom dia, coloquei o break point e pude ver que estava lendo, mas não entrava no if corretto... entendi que o problema era a abertura e fechamento de blocos " { "...depois de muitas e muitas alterações nos blocos acertei.

Funcionando assim :

private void BtnSalvar_Click(object sender, EventArgs e)
        {
            try
            {
                OleDbConnection conexao = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Application.StartupPath + "\\BDBiblioteca.mdb");

                OleDbCommand comando = new OleDbCommand("SELECT Nome , Login FROM Funcionario WHERE Nome = @nome OR Login = @login", conexao);

                comando.Parameters.AddWithValue("@nome", nomeTextBox.Text);
                comando.Parameters.AddWithValue("@login", loginTextBox.Text);

                conexao.Open();

                OleDbDataReader reader = null;

                reader = comando.ExecuteReader(CommandBehavior.CloseConnection);

                if ((reader.HasRows) && (reader.Read()) && (BtnAdicionar.Checked == true))
                {
                    if (nomeTextBox.Text == reader["nome"].ToString())
                        {
                            MessageBox.Show("Nome já Cadastrado !", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            nomeTextBox.Focus();
                            nomeTextBox.ForeColor = Color.Red;
                            loginTextBox.ForeColor = Color.Black;
                        }
                        else if (loginTextBox.Text == reader["login"].ToString())
                        {
                            MessageBox.Show("Login já Cadastrado !", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            loginTextBox.Focus();
                            loginTextBox.ForeColor = Color.Red;
                            nomeTextBox.ForeColor = Color.Black;
                        }
                        }
                        else if (senhaTextBox.Text != ConfSenhatextbox.Text)
                        {
                            MessageBox.Show("Senhas não são Iguais !", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            ConfSenhatextbox.Focus();
                            ConfSenhatextbox.ForeColor = Color.Red;
                        }
                    else
                    {
                        this.Validate();
                        this.funcionarioBindingSource.EndEdit();
                        this.tableAdapterManager.UpdateAll(this.bDBibliotecaDataSet);
                        MessageBox.Show("Registro Salvo com Sucesso !", "Salvar", MessageBoxButtons.OK, MessageBoxIcon.Information);
			}            
                    reader.Close();
                }
           
            catch (Exception ex)
            {
                MessageBox.Show("" + ex.Message, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.tabControl1.TabPages.Add(this.tabPage2);
                DesabilitaCampos();
                Restaura_Cor_textBox();
                NoMoveReg();
            }
        }



Valeu muito a sua ajuda.
Responder

09/06/2014

Kelvin Ott

Da uma testada no seu projeto com nome e login que ainda não estão cadastrados e que a senha esteja diferente uma da outra, provavelmente irá dar erro.

if ((reader.HasRows) && (reader.Read()) && (BtnAdicionar.Checked == true))
                {
                    if (nomeTextBox.Text == reader["nome"].ToString())
                        {
                            MessageBox.Show("Nome já Cadastrado !", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            nomeTextBox.Focus();
                            nomeTextBox.ForeColor = Color.Red;
                            loginTextBox.ForeColor = Color.Black;
                        }
                        else if (loginTextBox.Text == reader["login"].ToString())
                        {
                            MessageBox.Show("Login já Cadastrado !", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            loginTextBox.Focus();
                            loginTextBox.ForeColor = Color.Red;
                            nomeTextBox.ForeColor = Color.Black;
                        }
                        }
                        else if (senhaTextBox.Text != ConfSenhatextbox.Text)
                        {
                            MessageBox.Show("Senhas não são Iguais !", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            ConfSenhatextbox.Focus();
                            ConfSenhatextbox.ForeColor = Color.Red;
                        }
                    else
                    {
                        this.Validate();
                        this.funcionarioBindingSource.EndEdit();
                        this.tableAdapterManager.UpdateAll(this.bDBibliotecaDataSet);
                        MessageBox.Show("Registro Salvo com Sucesso !", "Salvar", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }            
                    reader.Close();
                }
Responder

10/06/2014

Jair Souza

Está funcionando em todas as situações, testado em todas as combinações.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar