none
Conexão / Insert em banco de dados Access RRS feed

  • Pergunta

  • Galera, tudo bem? estou iniciando e estou com duas duvidas.

    1º - Conexão com o Banco de dados ( daoAccess.cs )
     Já tenho uma conexção utilizei esse tutorial: http://macoratti.net/08/09/c_macc1.htm
    Funcionou perfeitamente, e já estou utilizando para preencher alguns DropDowns.
    Agora vem a duvida 1. como chamar esse mesmo processo ou outro que utilize a mesma conexão, para um INSERT.

    2º - Andei pesquisando e vi uma metodologia de 3 Camadas, eu já tenho 2 (Form / DAO), a terceira seria a BLL, como chamar uma BLL para meu codigo.
    Exemplo, o que fiz foi o seguinte, na BLL coloquei as class que carrega o DROP no form. porém ele não acha o drop, pois não está na bll e sim no form =/


    Obrigado, caso não tenha sido claro, estou aqui para re-escrever a duvida rs..

    Abraços,


    Edgar Esteves - www.localdosuporte.com.br
    • Tipo Alterado Thiago MônacoModerator terça-feira, 7 de abril de 2009 18:08 Alteração devido ao conteúdo da Thread. Trata-se de perguntas
    segunda-feira, 30 de março de 2009 13:38

Todas as Respostas

  • Opa ola Edgar blza

    Vc poderia ser um pouco mais claro para ver se posso te ajudar

    Vc esta usando DAO seria isso mas é em C# isso que vc esta tentando fazer ou em VB.Net ... pois ate onde conheço o DAO seria uma conexão mais "antiga" usado com Visual Basic 5.0 6.0 .......
    Junior
    terça-feira, 31 de março de 2009 00:40
  • Junior tudo bem?

    Bom consegui fazer o insert, estou usando o Codigo abaixo:

            public void AdicionarCliente()
            {
                //Mostra conexão
                string conn = ConfigurationManager.ConnectionStrings["AccessConnectionString"].ToString();
                OleDbConnection empConnection = new OleDbConnection(conn);
                //Adiciona informações a Tabela
                string insertStatement = "INSERT INTO tblClientes  " + "(NOME, TIPO_DOC, CPF_CNPJ, ENDERECO, COMPLEMENTO, ESTADO, BAIRRO, PONTO_REFERENCIA, CEP, TELEFONE_RESIDENCIAL, TELEFONE_CELULAR, ID_NEXTEL, E_MAIL) " + "VALUES(@NOME, @TIPO_DOC, @CPF_CNPJ, @ENDERECO, @COMPLEMENTO, @ESTADO, @BAIRRO, @PONTO_REFERENCIA, @CEP, @TELEFONE_RESIDENCIAL, @TELEFONE_CELULAR, @ID_NEXTEL, @E_MAIL)";
    
                OleDbCommand insertCommand = new OleDbCommand(insertStatement, empConnection);
                // Mostra valores das Variaveis
                insertCommand.Parameters.Add("@NOME", OleDbType.Char).Value = this.txtNome.Text;
                insertCommand.Parameters.Add("@TIPO_DOC", OleDbType.Char).Value = this.lblCPFCNPJ.Text;
                insertCommand.Parameters.Add("@CPF_CNPJ", OleDbType.Char).Value = this.txtDocumento.Text;
                insertCommand.Parameters.Add("@ENDERECO", OleDbType.Char).Value = this.txtEndereco.Text;
                insertCommand.Parameters.Add("@COMPLEMENTO", OleDbType.Char).Value = this.txtComplemento.Text;
                insertCommand.Parameters.Add("@ESTADO", OleDbType.Char).Value = this.drpEstado.SelectedText.ToUpper();
                insertCommand.Parameters.Add("@BAIRRO", OleDbType.Char).Value = this.drpBairro.SelectedText.ToUpper();
                insertCommand.Parameters.Add("@PONTO_REFERENCIA", OleDbType.Char).Value = this.txtReferencia.Text;
                insertCommand.Parameters.Add("@CEP", OleDbType.Char).Value = this.txtCEP.Text;
                insertCommand.Parameters.Add("@TELEFONE_RESIDENCIAL", OleDbType.Char).Value = this.txtFoneRes.Text;
                insertCommand.Parameters.Add("@TELEFONE_CELULAR", OleDbType.Char).Value = this.txtFoneCel.Text;
                insertCommand.Parameters.Add("@ID_NEXTEL", OleDbType.Char).Value = this.txtFoneNex.Text;
                insertCommand.Parameters.Add("@E_MAIL", OleDbType.Char).Value = this.txtEmail.Text;
                // Abre Conexão
                empConnection.Open();
                // Testa Conexão
                if (empConnection.State == ConnectionState.Open)
                {
                    //Adicionou o Cliente!
                    try
                    {
                        int count = insertCommand.ExecuteNonQuery();
                        MessageBox.Show("Cliente Adicionado ", "Incluído");
                    }
                    // Deu Erro
                    catch (OleDbException oledbex)
                    {
                        MessageBox.Show("Erro de acesso aos dados " + oledbex.Message, "Erro");
                    }
                    finally
                    {
                        empConnection.Close();
                    }
                }
            }

    Porém Não estou conseguindo savar as informações dos DROPDown,

                insertCommand.Parameters.Add("@ESTADO", OleDbType.Char).Value = this.drpEstado.SelectedText.ToUpper();
                insertCommand.Parameters.Add("@BAIRRO", OleDbType.Char).Value = this.drpBairro.SelectedText.ToUpper();

    Já tentei de tudo, e não vai. o meu Dropdown eu carrego atravez de uma Tabela no Access:

            public void CarregandoDrop()
            {
    
                
                using (OleDbConnection conexaoAccess = daoAccess.daoAccess.getInstancia().getConexao())
                {
                    try
                    {
                        conexaoAccess.Open();
    
                        // Criando o DataSet
                        DataSet ds = new DataSet();
    
                        // criando o Adapter e preencher o dataSet
                        OleDbDataAdapter adapter = new OleDbDataAdapter("Select * From tblEstados", conexaoAccess);
                        adapter.Fill(ds);
    
                        DataTable dt = ds.Tables[0];
                        foreach (DataRow dr in dt.Rows)
                        {
                            // Drop do Cadastro
                            drpEstado.Items.Add(dr["NOME"].ToString());
                            // Drop do Automovel
                            drpEstadoPlaca.Items.Add(dr["NOME"].ToString());
                        }
                    }
                    catch (OleDbException oledbex)
                    {
                        MessageBox.Show("Erro de acesso aos dados " + oledbex.Message, "Erro");
    
                    }
                    finally
                    {
                        // fecho a conexão
                        conexaoAccess.Close();
                    }
                }
    }

    Porém quando dou o insert, ele vai embranco, como faço para pegar a informação do DROP (Valor Selecionado)!

    Obrigado


    Edgar Esteves - www.localdosuporte.com.br
    terça-feira, 31 de março de 2009 02:03
  • Edgar é o seguinte eu não uso carregar combobox dessa forma que vc faz mas por acaso vc ja tentou usar o seguinte: combobox.SelectedValue.ToString();




    Junior
    sexta-feira, 10 de abril de 2009 15:51