Programação em Camadas com C# (Aula 1)

Поделиться
HTML-код
  • Опубликовано: 19 ноя 2024

Комментарии • 161

  • @CrisPlebeu
    @CrisPlebeu 3 года назад +1

    Que Série top! Obrigado Filipe, por compartilhar conteúdo tão profissional com a gente. Melhor material disponivel sobre camadas!

  • @PedroSilva-nk6yl
    @PedroSilva-nk6yl 7 лет назад

    Caro apresentador, o seu trabalho é coisa mesmo de profissional. Obrigado.

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @leandrolacerda2399
    @leandrolacerda2399 7 лет назад +7

    Bela explicação.... nunca na faculdade algum professor explicou dessa maneira

    •  7 лет назад +1

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @elpidioabreu
    @elpidioabreu Год назад

    Muito bem explicado, gostei,até que enfim consegui entender a lógica.

  • @antoniolima8484
    @antoniolima8484 4 года назад

    Tem muita facilidade de ensinar. Excelente didática. Parabéns.

  • @marioalecosta1
    @marioalecosta1 8 лет назад

    Muito útil. Estou ajudando uma pessoa a entender projetos em camadas, e achei suas aluas bem didáticas. Obrigado.

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @machado6370
    @machado6370 4 года назад +1

    Aula top, a didática do professor e excelente!

  • @leobarbosa173
    @leobarbosa173 7 лет назад

    Passando para agradecer pela aula, 45 minutos de boa clareza e domínio no contexto aplicado...aprendi o conceito do padrão 3 camadas melhor que na faculdade!!!vlw =)

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @evertonalves2638
    @evertonalves2638 3 года назад

    Massa demais vou aprender agora passar ela entre biblioteca de classes

  • @thepowergospel
    @thepowergospel 9 лет назад +2

    Bem explicado ! Parabéns, continue publicando e ajudando as pessoas que buscam conhecimento em C#. Excelente vídeo.

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @EvandrorFranco
    @EvandrorFranco Год назад

    Vídeo aula TOP🎉

  • @Niltoncarlosfilipe
    @Niltoncarlosfilipe 6 лет назад

    Quanta clareza e logica na explicação, foi das melhores que já pude assistir

  • @garciatandela2739
    @garciatandela2739 6 лет назад

    Olá Filipe, estou deixando aqui o meu comentário dizendo um muito obrigado por essa videoaula de programação em camadas, faz um bom tempo que procuro este conteúdo bem explicado e o teu foi o melhor até agora. Quero que continues com esse bom trabalho que tens feito e nós estaremos sempre aqui para dar aquela garra e força que precisares. Abraços

  • @cadeveloper
    @cadeveloper 5 дней назад

    pq vc não utilizou parameters? concatenando string com a query abre porta para sql injection

  • @titosantos8672
    @titosantos8672 7 лет назад

    Didática muito boa e uma ótima aula. Parabéns.

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @ademarsouza8985
    @ademarsouza8985 10 лет назад

    Parabéns muito boa a sua explicação tenha certeza que você ta ajudando muitas pessoas assim como eu !!!

  • @robertomedeiros1581
    @robertomedeiros1581 7 лет назад

    joia amigo muito bom este vídeo muito explicado sobre 3 camadas

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @paulocesargomesalves3702
    @paulocesargomesalves3702 4 года назад

    Acabou o canal ??? curso tá completo ?? muito legal programação em camadas

  • @Marcelo-ok3sl
    @Marcelo-ok3sl 2 года назад

    Olha em te agradeço mesmo Filipe, eu nao uso C# uso Vb.net, é difícil achar material na net sobre isso, claro tem o macoratti(a culpa nao é dele é minha), mas voce esta me fazendo entender como desenvolver em camadas, hoje fiz uma inserção no banco de dados com sua aula, ficou massa, muitíssimo obrigado agora vou fazer a segunda. fiz minha primeira regra de negócios kkkkkk , mandei dar um upper() nos membros da classe na BLL para por tudo em maiúsculo antes de gravar o registro ai a classe DAL só se preocupa em gravar os dados, esse é o espírito da coisa correto?
    acompanho sua aula em C# e escrevo em Vb.net, ta me ajudando muito.
    muitíssimo obrigado , grande abraço

  • @enzocosta8665
    @enzocosta8665 4 года назад

    Excelenteeeeeeeee aula

  • @carlos25771
    @carlos25771 10 лет назад +1

    Parabens,
    Todas as aulas da 1 a 4 foram execelentes.
    Obrigado pela disposição,
    E quando possivel postar mais algumas aulas. Sabe expor o conteudo em liguagem simples de forma muito facil de entender.

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @danielhequer5252
    @danielhequer5252 9 лет назад

    Obrigado pela aula bem explicada

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @ThePelourinhor
    @ThePelourinhor 9 лет назад

    Video muito bem criado e direto.

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @ledsonvanini7421
    @ledsonvanini7421 7 лет назад

    Você é o cara.! Parabéns pelas aulas.

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @andrelsouzasts
    @andrelsouzasts 8 лет назад

    Cara, consegui entender e fazer em 45 minutos vendo o seu vídeo o que não consegui em 23 vídeo aulas COMPRADAS de um tiozinho que não quero falar o nome. O cara só enchia linguiça. Seus tópicos são de fácil assimilação e vão direto ao ponto, sem maiores delongas...de graça! Estou tentando recomeçar no mercado de programação (trabalhei com VB 5), e precisava muito de um conhecimento atualizado sobre plataforma .NET e desenvolvimento em camadas - trabalhava com orientação a eventos.
    Parabéns pela iniciativa de difundir o conhecimento. Abraço

    •  7 лет назад

      Caro André,
      Muito obrigado por prestigiar meu trabalho. Desculpa a demora, tarda mais não falha. Estou reativando o canal, pois, agora estou finalizando meu mestrado. Teremos vídeos toda semana. Se ainda não se inscrever, ativa aí parceiro.
      Abraços,
      Filipe Tório

    • @ademilsonmoreira8800
      @ademilsonmoreira8800 5 месяцев назад

      Prezado Andre, acho que vc devia dizer o nome desse tiozinho. Eu por exemplo, estou gostando desses vídeos e tentando entender um pouco (principalmente para exercitar a mente). Vai que eu entre nessa aí. Puxa. Não é bom pra ninguém e eu lamento vc ter entrado nessa.
      Sorte que vc acho outros e até me extimulou a ver os vídeos.

  • @gilbertofsjunior2022
    @gilbertofsjunior2022 9 лет назад

    To gostando bastante so a camada DAL q achei q n foi muito legal... Na minha opnião vc deveria ter feito ela na aula pq agora pra entender e copiar o q esta la é mais dificil para continuar a aula.... mais vc manda bem...

  • @Tiagosantos-xm6yn
    @Tiagosantos-xm6yn 10 лет назад

    Muito boa sua vídeo aula.

  • @carlosync
    @carlosync 9 лет назад

    Achei bem interessante a aula, já tenho vários cursos é já estou acostumado com vídeos, mas acredito para quem como eu não conhece nada de C# seria bom se fosse mostrado de forma mais explicada a classe de acesso ao banco de dados, ou pq não já usar Entity Framework que hoje em dia ORM é mais usado.

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @osmiodebom
    @osmiodebom 7 лет назад

    Aula top parabéns ganhou mais um inscrito e toma meu like

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @marcelos450
    @marcelos450 7 лет назад

    eu me inscrevi em sua pagina,pois sei que esses materiais irão me ajudar em mais projetos ainda....Mas reparei que vc não posta mais a algum tempo,vc tem um outro canal?A sua didática, rica em detalhes faz uma diferença enorme, essa maneira natural de passar a informação facilita e muito.muito obrigado mesmo.

    •  7 лет назад

      Marcelo S, tive que parar por um tempo por conta do mestrado, mas estou de volta com os vídeo. Inscreva-se no canal para receber notificações toda semana.

  • @gabrielfellipelunadasilva6611
    @gabrielfellipelunadasilva6611 7 лет назад

    Parabéns pela aula! Muito bem explico!

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @ademilsonmoreira8800
    @ademilsonmoreira8800 5 месяцев назад

    Bom Dia. Meu nome é Ademilson. Comecei a ver os vídeos e fiquei interessado em aprender um pouco. E depois de várias tentativa consegui a realizar um login com os dados de um banco de dados no SQL. Continuei e criei outro form com poucos campos para ser cadastrado em outra tabela do SQL. Só que aparece uma mensagem de erro que mostra a seguinte mensagem de erro: "Simtaxe incorreta próxima a '*'".
    Como corrigir esse erro!!!!!!! Obrigado e desculpe-me.

  • @jmauriciophd
    @jmauriciophd 8 лет назад +2

    Eu já crio as camadas no modelo MVC model veiw control

    •  7 лет назад +1

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @valdineioliveiracomino5469
    @valdineioliveiracomino5469 4 года назад

    Excelente!!

  • @xxVeidxx
    @xxVeidxx 9 лет назад

    Caraca mandou muito bem cara! Otima aula. Fui dar uma olhada no seu canal e vi que não posta a algum tempo, por que não continua cara? Explica bem demais

    •  7 лет назад +1

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @billymartins9445
    @billymartins9445 10 лет назад

    entendi muita coisa agora, valeu!

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @Incongnita96
    @Incongnita96 7 лет назад

    Ótima explicação, obrigado!

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @raphaelgaloucura
    @raphaelgaloucura 10 лет назад

    Ficou du carai suas aulas fessô!! Valeu.

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @brunofranco1122
    @brunofranco1122 9 лет назад

    Filipe, show de bola! Obrigado por disponibilizar esse material.
    Por gentileza, se puder me esclarecer uma dúvida...por que separar BLL da DTO?

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @fabricioprates29
    @fabricioprates29 6 лет назад

    Olá Felipe, estou tentando migrar um projeto legado C#/postgresql que utiliza Functions/StoredProcedure, suas aulas foram ótimas, o modelo em camadas ajudou bastante porem estou com dificuldade pois as inserções apresentam erros nas conversões de tipo DateTime teria alguma de ideia de como solucionar? As consultas funcionam normal problema é a inserção que da erro nos tipos de dados Date..Obrigado.

  • @confidencialconfidencial5209
    @confidencialconfidencial5209 6 лет назад

    E aee blz, assistir todas as aulas, mas queria pedir a sua ajuda, eu quero fazer inserção em três tabelas ao mesmo tempo pois as tabelas estão relacionadas,
    atraves de uma procedure, pode me dizer como faço isso?

  • @welissonnery
    @welissonnery 5 лет назад

    Qual a diferença de fazer assim, ou separados? Vi que existe um modelo, que alguns programadores separam em camadas, no seu caso você fez mas porém em pastas! Posso trabalhar assim? Ou o ideal seria dividi em 3 projetos?

  • @machado6370
    @machado6370 4 года назад

    Top!

  • @maninhopedro1120
    @maninhopedro1120 4 года назад

    boa noite Filipe! sou iniciante em programação estou a programar tal como neste vídeo mais ao inicializar o programa ele manda uma mensagem dizendo que a propriedade connection não esta ser inicializada, gostaria de umas dicas tua pf.

  • @Onkel-TioDiogo
    @Onkel-TioDiogo 4 года назад

    Hallo Filipe acho muito bom dares estas aulas de programação.
    Gostaria perguntar-te algo: desejo aprender programação. Mas quantos GB deve ter o meu computador para eu poder aprender programação?

  • @evertonramalhooliveirafilh8899
    @evertonramalhooliveirafilh8899 8 лет назад +1

    EM PRIMEIRO LUGAR, QUERO AQUI AGRADECÊ-LO POR ESTAS VÍDEOS AULAS MARAVILHOSAS E BEM APRESENTADAS, PARA UM LEIGO NO ASSUNTO COMO EU, MAS COM UMA VONTADE LOUCA DE PODER COMPREENDER A LINGUAGEM ESTOU AMANDO COM CERTEZA TUDO ISTO... SÓ DEIXO AQUI UMA RESSALVA SOBRE... O BANCO DE DADOS EU POSSO COPIA-LO PARA ADICIONA-LO NA REPLICA QUE ESTOU CRIANDO PARA APRENDER..? ONDE EU ENCONTRO...?

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @biomelo8501
    @biomelo8501 3 года назад

    É uma pena o canal com um excelente conteúdo estar inativo...

    • @TheMakerr
      @TheMakerr 3 года назад

      Brasil, o pais que um video de funk tem 1milhao de view e um video foda desse a galera nao ta nem ai.... dura realidade!

  • @aasbrasil1
    @aasbrasil1 9 лет назад

    Valeu Filipe!

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @calorssilva9401
    @calorssilva9401 10 лет назад

    Muito bom. Na inclusão no banco de dados, poderia criar uma classe tipo clsIncluir e no botao Incluir chamar essa classe? pq nesse exemplo tem somente 2 campos, mas se tivesse mais ai ficaria tudo dentro do evento do botao incluir...só uma questao de deixar mais claro a codificacao.

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @EmersonRF
    @EmersonRF 8 лет назад

    Filipe Tório, preciso falar contigo.

  • @Macedo34454
    @Macedo34454 10 лет назад

    Bom dia! primeiramente Obrigado por compartilhar seus conhecimento.
    quando eu tento inserir os dados, o meu ExecuteNonQuery() gera um erro de que não esta reconhecendo o Objeto 'cliente' tem ideia do que possa ser ? Obrigado.
    Estou usando o visual studio 2012 e sqlserver2012.
    SqlCommand comando = new SqlCommand(comandosql, conn);
    comando.ExecuteNonQuery();
    conn.Close();

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @DanielSenra
    @DanielSenra 10 лет назад

    Muito Bom!!!!

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @masterduvia
    @masterduvia 9 лет назад

    Filipe, primeiramente parabéns pela sua iniciativa. Excelente seu mateira, muito clara, suas explicações. Aproveitando do seu conhecimento, gostaria de saber no caso de relacionamentos entre as entidades do banco de dados, como seria o procedimento. Exemplo: tenho um bd cadastroproduto onde tenho as entidades produto(id, nomeproduto, idcategoriaproduto) e categoriaproduto (id, nomecategoriaproduto). No formulario de cadastro de produto eu teria: txtNome, cbxcategoria. Não sei se consegui me explicar, mas como ficaria o DTO para esse exemplo?

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @vagner9090
    @vagner9090 3 года назад

    O único que consegui entender de verdade rsrs

  • @juniorgarcez3419
    @juniorgarcez3419 6 лет назад

    Deveria ter mostrado a pasta de banco de dados, tô esperando até hoje

  • @Belloinfo
    @Belloinfo 5 лет назад

    Cara merece mil likes que pena só posso ativa um.

  • @ademarsouza8985
    @ademarsouza8985 10 лет назад

    você vai fazer outro vídeo explicando mais a fundo sobre a class DAL??

    •  10 лет назад +1

      Olá Ademar, obrigado pela pergunta. Estou planejando gravar outras aulas de POO com três camadas em ASP.net e vou abordar um pouco mais sobre a camada DAL.

    • @ademarsouza8985
      @ademarsouza8985 10 лет назад

      que ótimo, aguardando ansioso e obg pela a atenção que você ta dando aos iniciantes !!!

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @arisiotube
    @arisiotube 8 лет назад +1

    Amigão, antes de tudo, obrigado pela excelente aula. Estou tendo que aprender MVC em C# e disponho de pouco tempo... e vc ajudou muito... no entanto, vendo outros videos, vi modelos de MVC, Desktop, onde cada camada é um project, e não uma pasta como no seu exemplo. Vc vê alguma vantagem ou desvantagem em uma das maneiras de programar? Obrigado novamente.

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @brunocarvalho550
    @brunocarvalho550 5 лет назад

    Boa tarde, obrigado pleo conteudo tirou muitas duvidas e esta sendo otimo para o meu aprendizado.
    Mas o botão incluir ao ser pressionado, da um erro que vai para a classe "AcessoBancoDados "que aponta para o o "comando.ExecuteNoQuery()" A MENSAGEM DIZ :
    MySql.Data.MySqlClient.MySqlException: 'You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''Bruno,brunocarvalhoviana@outlook.com)' at line 1'
    Pode me ajudar? preciso muito aprender essa materia e esta sendo complicado.
    Obrigado

  • @raphaelgaloucura
    @raphaelgaloucura 10 лет назад

    Professor, grava outras aulas de POO com três camadas em ASP.net?

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @nascimentosystem
    @nascimentosystem 8 лет назад

    Ótimas explicações em todas as aulas. Me ajudou bastante. Parabéns Filipe!
    Se eu quisesse adicionar um campo foto no form, como eu poderia incluir o atributo foto no ClienteDTO para que essa imagem seja mostrada no PictureBox?
    Assim como foi definido que:
    dto.Nome = txtNome.Text;
    dto.Email = txtEmail.Text;
    Como eu definiria o "dto.Foto = ???"?
    Obrigado pela atenção.

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @leonardoperes2898
    @leonardoperes2898 9 лет назад

    Boa noite felipe ta dando erro em lugar aqui e nao to conseguind resolve ta no public void Executar comandoSQL da erro nessa linha comando.ExecuteNonQuery();
    segue o squinte erro Sytem.InvalidOperationException ocurred in mysql.data.dll

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

    • @DaviSoares401
      @DaviSoares401 7 лет назад

      Felipe Tório, precisamos de um comando desses mas com variáveis passadas por parametros.
      EX:
      "INSERT INTO clientes (nome, email) VALUES ('" @nome "', '" @email"')";
      command.Parameters.Add(new SqlParameter("@nome", dto.Nome));
      command.Parameters.Add(new SqlParameter("@email", dto.Email));
      Sei que essa é a forma para evitar SQL Injection, porém sou um aprendiz, estou tentando aprender da melhor forma possível, nos dê uma aula sobre esse assunto, estou na Austrália querendo aprender a programar em Visual Studio, atualmente só sei PHP.

  • @antonilsonfonseca972
    @antonilsonfonseca972 6 лет назад

    Boa tarde ! meu visual studio não mostrar a extensão MySqlData, como faço para pegar essa extensão, preciso baixar mais alguma coisa? Grato pela atenção!

    • @antonilsonfonseca972
      @antonilsonfonseca972 6 лет назад

      ops!! Conseguir resolver depois de ter baixado um mysql-connector-net-6.10.6.msi!

    •  6 лет назад +1

      +Antonilson Fonseca beleza? Você precisa baixar o MySQL Conector for Visual Studio.

  • @Ivisonivisonll
    @Ivisonivisonll 6 лет назад

    show

  • @DaviSoares401
    @DaviSoares401 7 лет назад

    Felipe Tório, precisamos de um comando desses mas com variáveis passadas por parametros.
    EX:
    "INSERT INTO clientes (nome, email) VALUES ('" @nome "', '" @email"')";
    command.Parameters.Add(new SqlParameter("@nome", dto.Nome));
    command.Parameters.Add(new SqlParameter("@email", dto.Email));
    Sei que essa é a forma para evitar SQL Injection, porém sou um aprendiz, estou tentando aprender da melhor forma possível, nos dê uma aula sobre esse assunto, estou na Austrália querendo aprender a programar em Visual Studio, atualmente só sei PHP.

    •  7 лет назад

      Davi Soares obrigado pela mensagem e pela sugestão de aula. Em breve falarei sobre a construção adequada de comandos SQL para evitar ataques por injeção. Teremos dois vídeos por semana. Inscreva-se no canal e ative a notificação. Um grande abraço.

    • @DaviSoares401
      @DaviSoares401 7 лет назад

      Já me inscrevi, gostaria se possível me mostrasse uma soluçao para eu usar essa forma de passar como parâmetro nesse código que você nos ensinou na aula, eu tentei algumas formas mas continua dando erro na execuçao. Obrigado.
      davi.silvainfo@gmail.com
      Se puder ajudar nesse passo seria mueito importante.

    • @FHXCell
      @FHXCell 7 лет назад

      Eu resolvo dessa forma:
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
      using System.Threading.Tasks;
      using System.Collections;
      using System.Data;
      using MySql.Data.MySqlClient;
      namespace Projeto3Camadas.Layers.DAL
      {
      class ParametroSQL
      {
      private String nome;
      private object valor;
      public string Nome { get => nome; set => nome = value; }
      public object Valor { get => valor; set => valor = value; }
      }
      class Database
      {
      private MySqlConnection conn;
      private DataTable data;
      private MySqlDataAdapter da;
      private String server = "localhost";
      private String user = "root";
      private String password = "123";
      private String database = "teste";
      public Database()
      {
      Conectar();
      }
      ~Database()
      {
      Desconectar();
      }
      public void Conectar()
      {
      string connStr = String.Format("server={0}; user id={1}; password={2}; database={3}; pooling=false", server, user, password, database);
      try
      {
      Desconectar();
      conn = new MySqlConnection(connStr);
      conn.Open();
      }
      catch (MySqlException ex)
      {
      throw new Exception(ex.Message);
      }
      }
      public void Desconectar()
      {
      try
      {
      if (conn != null)
      conn.Close();
      }
      catch (MySqlException ex)
      {
      throw new Exception(ex.Message);
      }
      }
      public void ExecutarSQLSemRetorno(string sql, List parametros = null)
      {
      MySqlCommand comando = new MySqlCommand(sql, conn);
      if (parametros != null)
      {
      for (int i = 0; i < parametros.Count; i++)
      {
      if (parametros[i] != null)
      {
      comando.Parameters.AddWithValue(parametros[i].Nome, parametros[i].Valor);
      }
      }
      }
      comando.ExecuteNonQuery();
      conn.Close();
      }
      public DataTable ExecutarSQLRetornandoDataTable(string sql, List parametros = null)
      {
      MySqlCommand comando = new MySqlCommand(sql, conn);
      if (parametros != null)
      {
      for (int i = 0; i < parametros.Count; i++)
      {
      if (parametros[i] != null)
      {
      comando.Parameters.AddWithValue(parametros[i].Nome, parametros[i].Valor);
      }
      }
      }
      data = new DataTable();
      da = new MySqlDataAdapter(comando);
      da.Fill(data);
      return data;
      }
      public MySqlDataReader ExecutarSQLRetornandoDataReader(string sql, List parametros = null)
      {
      MySqlCommand comando = new MySqlCommand(sql, conn);
      if (parametros != null)
      {
      for (int i = 0; i < parametros.Count; i++)
      {
      if (parametros[i] != null)
      {
      comando.Parameters.AddWithValue(parametros[i].Nome, parametros[i].Valor);
      }
      }
      }
      MySqlDataReader dr = comando.ExecuteReader();
      dr.Read();
      return dr;
      }
      }
      }
      %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      class ClienteBLL
      {
      Database database = new Database();
      public void Inserir(ClienteDTO dto)
      {
      List list = new List();
      ParametroSQL parametroSQLId = new ParametroSQL();
      parametroSQLId.Nome = "@ID";
      parametroSQLId.Valor = dto.Id;
      list.Add(parametroSQLId);
      ParametroSQL parametroSQLNome = new ParametroSQL();
      parametroSQLNome.Nome = "@NOME";
      parametroSQLNome.Valor = dto.Nome;
      list.Add(parametroSQLNome);
      ParametroSQL parametroSQLEmail = new ParametroSQL();
      parametroSQLEmail.Nome = "@EMAIL";
      parametroSQLEmail.Valor = dto.Email;
      list.Add(parametroSQLEmail);
      string sql = "INSERT INTO LOGIN (ID, NOME, EMAIL) VALUES (@ID, @NOME, @EMAIL);";
      database.ExecutarSQLSemRetorno(sql, list);
      }
      }
      }

  • @pedropinheiro4334
    @pedropinheiro4334 9 лет назад

    Meio foda!

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @ViniciusMathias
    @ViniciusMathias 9 лет назад

    Ola, poderia me ajudar estou desenvolvendo para meu TCC e que meu banco de dados seja o Oracle, e estou tendo dificuldades.

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @welissonnery
    @welissonnery 5 лет назад

    Cara isso que tava pocando muitos alunos!
    Nós sempre ouvimos dizer do tal PROJETO 3 CAMADAS, mas na prática isso meio que se torna 4 camadas porque: Eu tava tendo dificuldade, pois é impossível passar o objeto BLL para DAL sem essa camada DTO... Nesse caso eu falo quando você divide o projeto em dll, estava ficando doido já até encontrar seu vide-o!
    Tendo essa camada DTO agora consigo fazer a referência dela tanto a camada BLL quanto para DAL. Nossa mano obrigado salvou minha vida!
    Me diz uma coisa, onde devo deixar a validações dos textbox? Na classe BLL ou no próprio form?
    Pois temos que retornar as informações sempre para o UI, se eu fizer uma validação nas propriedades de qualquer forma terei que fazer elas no formulário. Caso contrário, se eu precisar forcar um controle ou colorir o mesmo, terei que fazer outra validação dentro do form novamente. Então isso me geraria uma duplicação de código certo?
    Como resolvo isso? Deixo as validações dentro dos forms mesmo, ou sou obrigado a validar as entidades retornar para o form e depois validar de novo caso queira focar no controle?
    Obrigado, abraço!

    • @eu_thiagomoura
      @eu_thiagomoura 5 лет назад +1

      Também gostaria de saber, assim que descobrir algo sobre, deixa no comentário pf amigo!

    • @welissonnery
      @welissonnery 5 лет назад +1

      @@eu_thiagomoura Então mano, eu fiquei sabendo que a validação de entradas de dados não podem ser dentro da classes DLL. Pelo que entendi, você deve fazer isso em uma cama UI mesmo. Um dica que poderia ser bacana, seria criar uma classe na camada UI só para validações do UserForm, tipo; UsuarioValidation por exemplo. Dessa forma evitaria ter muito código dentro do próprio useform, amenizando o acoplamento né! Mas não tenho certeza disso ainda, uma coisa legal que descobrir é que podemos usar o melhor do POO para isso. Tipo um datagridviw, o ideal é montar ele em código, evitar de fazer tudo manual. Pois se precisar de apagar o controle, você não perde códigos. Pra isso eu usei a herança, o que ajuda muito!

    • @eu_thiagomoura
      @eu_thiagomoura 5 лет назад +1

      @@welissonnery Essa do DataGridView foi bem interessante, vou da uma pesquisada sobre. Valeu pela dica, criando uma classe de validação e instanciando ela na view, me parece que vai ficar bem limpo o projeto, e legível também. Show de bola mano.

    • @welissonnery
      @welissonnery 5 лет назад

      @@eu_thiagomoura Eu mudei de ideia a quanto o DTO, tô fazendo com 3 camadas mesmo, UI, BLL, DAL as propriedades eu uso direto da camada business.

    • @eu_thiagomoura
      @eu_thiagomoura 5 лет назад +1

      @@welissonnery cara não seria interessante manter o dto e adicionar mais uma camada para UI?

  • @RubemVinicius
    @RubemVinicius 6 лет назад +1

    Show!!!

  • @wsacal
    @wsacal 6 лет назад

    Pelo que vi, você criou apenas um projeto e separou cada camada em pastas. Não seria melhor gerar três projetos, cada um representando uma camada, pois caso eu precise efetuar manutenção em apenas uma camada, eu compilaria apenas essa camada, ganhando tempo em compilação em grandes projetos? Por favor, é apenas uma ideia, se eu estiver enganado me corrija?

  • @joseroney8509
    @joseroney8509 8 лет назад +3

    Desculpa mas vc não mostrou a pasta de acesso banco de dados que vc criou.

    •  7 лет назад +6

      drive.google.com/open?id=0B5Zf5Vw6gmlqdGdfTGxVT0kxeUk

  • @glaydsonsaragoca5843
    @glaydsonsaragoca5843 9 лет назад

    Boa noite, Felipe!
    Parabéns pelo vídeo, tem ajudado bastante!
    Tenho uma dúvida, e se ao invés de criar minhas DTOs e BLLs "Independentes", eu criar as BLLs herdando os atributos das DTOs?
    Existe alguma "Boa Prática" que não me permite fazer assim?
    Desde já, muito obrigado!

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @FernandoSilva-hd9jv
    @FernandoSilva-hd9jv 9 лет назад

    Boa tarde, tenho que agradecer-lhe por esta óptima demonstração, tenho um pequeno problema: quando executo o start até a digitação dos dados dcorre tudo normal, após clicar em incluir, aparece então um erro: "An unhandled exception of type 'System.Exception' occurred in Projeto3Camadas.exe
    Additional information: Unable to connect to any of the specified MySQL hosts.", este erro aparece em:
    public void Conectar()
    {
    if (conn != null)
    conn.Close();
    string connStr = String.Format("server=(0); user id=(1); password=(2); database=(3); pooling=false", server, user, password, database);
    try
    {
    conn = new MySqlConnection(connStr);
    conn.Open();
    }
    catch (MySqlException ex)
    {
    --> throw new Exception(ex.Message);
    }
    }
    Já efectuei várias configurações no MySql, nomeadamente colocando o ficheiro do projecto no directório www, mas fica sempre por aqui, com o mesmo erro e não transcreve os dados para a tabela.... Como posso solucionar este erro afim de prosseguir o curso.... O meu obrigado....

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @tarcisiojosedearaujopereir664
    @tarcisiojosedearaujopereir664 7 лет назад

    9:55 Começa o New Project, para aqueles que querem pular a introdução/história da programação para chegar em orientada a objeto

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @000JHOL
    @000JHOL 10 лет назад

    Bom video, boa explicação porem me caiu uma duvida.
    Como programar a seguinte situação: Pessoa, PessoaFisica e PessoaJuridica?

    •  10 лет назад

      Herança resolve essa situação, tanto para as classes BLL e DTO. Colocamos tudo que é comum a Pessoa Física e Jurídica na classe Pessoa que pode ser inclusive abstrata. As classes PessoaFisica e PessoaJurica herdam da classe Pessoa.

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @Richard.Slater
    @Richard.Slater 8 лет назад

    Muito boa essas explicações :) O visual studio pode acessar banco postgres tb?

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @stegame21
    @stegame21 9 лет назад +1

    iae parceiro, ótima aula daitenho uma pergunta, posso usar o SQLServer?um abraço

    •  9 лет назад +2

      Pode sim, no entanto, a camada de dados DAL precisa ser alterada para usar SqlClient.

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @karaokeartedesing
    @karaokeartedesing 8 лет назад

    Olá Felipe Bom Dia!
    estou seguindo rigidamente as suas explicações e fiz o formulário, etc.
    o que não estou conseguindo entender é sobre a pasta que você tem pronta com acesso a banco de dados e somente conectou.
    no meu caso teria que criar também essa pasta mas não estou entendendo como isso será feito.
    Fiz inclusive a tabela como disse...mas não estou entendo como essa tabela vai aparecer no DAL.
    Bem....qualquer coisa se puder orientar agradeço...
    Parabéns pelo seu trabalho!
    e-mail: portalautomatec@gmail.com

  • @juanvvfreitas
    @juanvvfreitas 9 лет назад

    parabens Filipe, muito boa sua aula...valeu..
    só tem até a 4 aula mesmo ou tem mais?

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @masoro79
    @masoro79 9 лет назад

    Amigo, qual o benefício em programar sem o uso de controles BindSources como você está fazendo, ou seja, criar tudo na "unha" mesmo?

    •  9 лет назад +2

      Marcos Soares O benefício é ter maior controle da solução. Mas também não dispenso o uso de alguns RAD code, pois de toda forma, diversas tecnologias estão cada vez mais tendendo para isso, principalmente tecnologias Microsoft com tantos frameworks disponíveis. Mas o criar na "unha" é porque as vídeo-aulas são destinadas aos meus alunos que estão aprendendo a programar, se mostrar tudo isso com uso de BindSources fica muito encapsulado e eles não absorvem o conhecimento esperado.

    • @masoro79
      @masoro79 9 лет назад

      Muito obrigado. É porque eu ouço muitos falarem que o uso de componentes vinculados pode tornar uma aplicação um pouco lenta se comparado com o método que você está utilizando. Isso é verdade ou mito? Eu também estou iniciando em C# e gostei muito da forma que você faz.

    •  9 лет назад +1

      Depende porque isso evolui bastante, mas de modo geral, o framework tem que checar e gerenciar uma série de coisas antes de processar os pedidos e pode ficar mais lento sim, no entanto, nada que inviabilize soluções de requisitos não muito críticos no que diz respeito à performance.

    • @masoro79
      @masoro79 9 лет назад +1

      Filipe Tório Valeu amigo. Eu programo em Delphi e, supondo que você o conheça, saberá então o quanto é "bagunçado" trabalhar com aquela quantidade de componentes de acesso a dados poluindo a sua interface. Sem mencionar o quanto fica lento e o quanto grande fica o executável gerado na compilação. Mas, valeu pelo conhecimento compartilhado. Desejo-lhe sucesso em sua caminhada. Obrigado.

    • @earthgamers252
      @earthgamers252 4 года назад

      Marcos essa App do vídeo e persistente ou não persistente

  • @1966fabao
    @1966fabao 7 лет назад

    Oi, vc teria o fonte da classe AcessoBancoDados, estou tentando copiar pelo vídeo, mas tem partes embassadas e não consigo ver

    •  7 лет назад +1

      drive.google.com/open?id=0B5Zf5Vw6gmlqdGdfTGxVT0kxeUk

    • @1966fabao
      @1966fabao 7 лет назад

      obrigado, na labuta com os códigos aqui, um abraço, valeu mesmo

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @silvioarena7348
    @silvioarena7348 9 лет назад

    Felipe, ótimas aulas, estão me ajudado muito, apenas uma dúvida.
    Esse trecho que código abaixo, esta dando erro de conversão no objeto dr, você poderia me ajudar com esse problema?
    public SqlDataAdapter RetornaDataReader(string sql)
    {
    SqlCommand objCmd = new SqlCommand(sql, conn);
    SqlDataReader dr = objCmd.ExecuteReader();
    dr.Read();
    return dr;
    }
    Agradeço desde já
    Abraços e parabéns pela a qualidade das aulas!

    • @forasen
      @forasen 7 лет назад

      Acho que vc não criou esse DataReader Tipo DataReader = new DataReader(dt);
      Não tenho certeza mas deve ser isso falta criar o DT= DataReader.

    •  7 лет назад +1

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @Engelkeify
    @Engelkeify 8 лет назад

    Ola Felipe, depois de muito procurar como aprender C# e começar a programar encontrei os seus videos. Estou gostando bastante dos são bem explicados e dinâmicos porem to com a versão do VS 2015 e fico perdido não consigo identificar os comandos que vc usa assim como onde ta Form 1e onde criar as pastas DTO,DLL e BLL etc.. teria como me ajudar..?
    obrigado
    leonardo.engelke@hotmail.com

    •  8 лет назад

      +Leonardo Engelke para criar as pastas referentes as camadas, basta adicioná-la clicando com o botão da direita sobre o nome do projeto e acessar a opção Add Folder

    •  7 лет назад

      Leonardo Engelke valeu amigo. Inscreva aí que estou reformulando o canal.

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.

  • @reiCODE64
    @reiCODE64 7 лет назад

    Ninja no paint

    •  7 лет назад

      Canal reativado, teremos vídeos toda semana. Inscreva-se.