none
O Visual Studio nao aceita o comando OleDBCommand RRS feed

  • Pergunta

  • Boa noite,

    Estou usando a conexão do banco de dados Access, só que o problema é que o Visual Studio 2012 não quer reconher esse comando OleDBCommand , que é um dos principais, alguém pode me ajudar?...como faço pra ele aceitar esse comando, e já utilizei  o using.System.Data.OleDB;

    vou postar meu código:

     private void button1_Click(object sender, EventArgs e)
            {
                string strcon =@"Provider=Microsof.ACE.OLEDB.12.O; Data Source="+Application.StartupPath+@"Cadastro.accdb";
                string comando = "INSERT INTO Paciente (Nome_Paciente, CPF, RG, Data-Nascimento, CEP, Endereco, Numero, Bairro, Telefone_Paciente, Celular, Cidade, Estado, Email) values (@Nome_Paciente, @CPF, @RG, @Data-Nascimento, @CEP, @Endereco, @Numero, @Bairro, @Telefone_Paciente, @Celular, @Cidade, @Estado, @Email)";
    
                OleDbConnection con = new OleDbConnection(strcon);
                OleDbConnection com = new OleDbCommand (comando, con);
    
                com.Parameters.Add("@Nome_Paciente", OleDbType.VarChar).Value = textBox_Nome.Text;
                com.Parameters.Add("@CPF", OleDbType.VarChar).Value = maskedTextBox_CPF.Text;
                com.Parameters.Add("@RG", OleDbType.VarChar).Value = maskedTextBox_RG.Text;
                com.Parameters.Add("@Data-Nascimento", OleDbType.VarChar).Value = masked_Dt_nasci.Text;
                com.Parameters.Add("@CEP", OleDbType.VarChar).Value = maskedTextBox_CEP.Text;
                com.Parameters.Add("@Endereco", OleDbType.VarChar).Value = textBox_Endereco.Text;
                com.Parameters.Add("@Numero", OleDbType.VarChar).Value = textBox_numero.Text;
                com.Parameters.Add("@Bairro", OleDbType.VarChar).Value = textBox_Bairro.Text;
                com.Parameters.Add("@Telefone_Paciente", OleDbType.VarChar).Value = maskedTextBox_Telefone.Text;
                com.Parameters.Add("@Celular", OleDbType.VarChar).Value = maskedTextBox_Celular.Text;
                com.Parameters.Add("@Cidade", OleDbType.VarChar).Value = textBox_Cidade.Text;
                com.Parameters.Add("@Estado", OleDbType.VarChar).Value = textBox_Estado.Text;
                com.Parameters.Add("@Email", OleDbType.VarChar).Value = textBox_Email.Text;
    
                try
                {
                    con.Open();
                    com.ExecuteNonQuery();
                    MessageBox.Show("Cadastro Realizado com Sucesso!");
    
                }
                catch (Exception E)
                {
                    MessageBox.Show(E.Message);
                }
                finally
               {
                   con.Close();
                }

    Já tentei fazer de diversar formas, mas o problemas é que o programa não reconhece me ajudem...


    • Editado Andressa.s sábado, 25 de junho de 2016 22:31
    sábado, 25 de junho de 2016 22:20

Respostas

  • Se o codigo que voce postou é o mesmo que voce esta utilizando o erro esta aqui:

       OleDbConnection com = new OleDbCommand (comando, con);
    

    Voce nao pode associar um OleDbCommand  à um OleDbConnection ...

    o correto é:

     OleDbCommand com = new OleDbCommand (comando, con);

    att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------


    segunda-feira, 27 de junho de 2016 13:42
    Moderador

Todas as Respostas

  • Olá querida, utilize o SqlCommand:

     SqlCommand comando = new SqlCommand(comando, con);

    No lugar de:

      OleDbConnection com = new OleDbCommand (comando, con);

    Final:

    using System.Data.SqlClient;
    
    
    
    
    private void button1_Click(object sender, EventArgs e)
            {
    	SqlConnection con = new SqlConnection(@"Password=2016;Persist Security Info=True;User ID=sa;Initial Catalog=dbExemplo;Data Source=.\sqlexpress");
    	SqlCommand comando = new SqlCommand("INSERT INTO Paciente (Nome_Paciente, CPF, RG, Data-Nascimento, CEP, Endereco, Numero, Bairro, Telefone_Paciente, Celular, Cidade, Estado, Email) values (@Nome_Paciente, @CPF, @RG, @Data-Nascimento, @CEP, @Endereco, @Numero, @Bairro, @Telefone_Paciente, @Celular, @Cidade, @Estado, @Email)", con);
    		
    		
    	comando.Parameters.Add("@Nome_Paciente", SqlDbType.VarChar).Value = textBox_Nome.Text;
            comando.Parameters.Add("@CPF", SqlDbType.VarChar).Value = maskedTextBox_CPF.Text;
            comando.Parameters.Add("@RG", SqlDbType.VarChar).Value = maskedTextBox_RG.Text;
            comando.Parameters.Add("@Data-Nascimento", SqlDbType.VarChar).Value = masked_Dt_nasci.Text;
            comando.Parameters.Add("@CEP", SqlDbType.VarChar).Value = maskedTextBox_CEP.Text;
            comando.Parameters.Add("@Endereco", SqlDbType.VarChar).Value = textBox_Endereco.Text;
            comando.Parameters.Add("@Numero", SqlDbType.VarChar).Value = textBox_numero.Text;
            comando.Parameters.Add("@Bairro", SqlDbType.VarChar).Value = textBox_Bairro.Text;
            comando.Parameters.Add("@Telefone_Paciente", SqlDbType.VarChar).Value = maskedTextBox_Telefone.Text;
            comando.Parameters.Add("@Celular", SqlDbType.VarChar).Value = maskedTextBox_Celular.Text;
            comando.Parameters.Add("@Cidade", SqlDbType.VarChar).Value = textBox_Cidade.Text;
            comando.Parameters.Add("@Estado", SqlDbType.VarChar).Value = textBox_Estado.Text;
            comando.Parameters.Add("@Email", SqlDbType.VarChar).Value = textBox_Email.Text;
    
    	try
            {
                con.Open();
                com.ExecuteNonQuery();
                MessageBox.Show("Cadastro Realizado com Sucesso!");
    
            }
            catch (Exception E)
            {
                MessageBox.Show(E.Message);
            }
            finally
            {
                con.Close();
            }		
    }

    Desculpe, qual o banco de dados que está utilizando?




    sábado, 25 de junho de 2016 22:33
  • Estou utilizando o banco de dados Access 
    sábado, 25 de junho de 2016 22:46
  • Segue um exemplo do CRUD no Acess:

    http://www.macoratti.net/12/03/exemploAcessoBD.zip

    sábado, 25 de junho de 2016 23:02
  • Muito Obrigada,Vou estudar seu código e tentar achar meu erro.

    Obrigada

    sábado, 25 de junho de 2016 23:14
  • Se o codigo que voce postou é o mesmo que voce esta utilizando o erro esta aqui:

       OleDbConnection com = new OleDbCommand (comando, con);
    

    Voce nao pode associar um OleDbCommand  à um OleDbConnection ...

    o correto é:

     OleDbCommand com = new OleDbCommand (comando, con);

    att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------


    segunda-feira, 27 de junho de 2016 13:42
    Moderador