C6/ CRUD con Arquitectura Tradicional en Capas + POO+DDD+PEAA+Validaciones/ Nivel Avanzado 1/ C#-SQL

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 พ.ย. 2024

ความคิดเห็น • 167

  • @AlbertoFranciscoMatambo
    @AlbertoFranciscoMatambo 2 ปีที่แล้ว

    Video muy completo, solido con buenas prácticas y uno de los mejores en la plataforma Windows. Felicitaciones,

  • @DQM27-H
    @DQM27-H 5 ปีที่แล้ว +19

    Simplemente increíble, espero aprender mas de ti, y como dice un comentario anterior seria muy interesante ver un curso en Udemy me uno a los que compraríamos tu curso

  • @fessimon
    @fessimon 4 ปีที่แล้ว

    Hola muchas gracias por esta serie de tutoriales, me sirvió mucho para entender los patrones de diseños y arquitectura. Estuve mirando vídeos de estos temas pero sumamente aburridos y cero didácticos. Por eso muchísimas gracias! Tienes un suscriptor más.

  • @oscaregt2
    @oscaregt2 3 ปีที่แล้ว

    Eres un crack. He pasado mucho tiempo intentando aprender a desarrollar aplicaciones. Y contigo lo veo tan fácil. Felicidades 🎉 tus vídeos son de gran valor.

  • @VocesPoeticasOficial
    @VocesPoeticasOficial 5 ปีที่แล้ว +5

    Eres el mejor bro! Ojalá sigas subiendo mas videos y enseñando que lo haces muy bien!! Con temas que nadie enseña excelente amigo!! Saludos

  • @cristobalzapata4945
    @cristobalzapata4945 8 หลายเดือนก่อน

    Gracias a las enseñanza que nos da. Sinceramente gracias.

    • @cristobalzapata4945
      @cristobalzapata4945 8 หลายเดือนก่อน

      tengo una pregunta. en una arquitectura de capas. existe la manera de tener una conexión abierta para realizar toda las consultas que se realiza por tema de configuración en una sola conexión para toda las consultas "todas las consultas son x inyección de dependencia: ejemplo: TablaPedido,TablaProdducto,tablaUbicacion,N-tabas de consulta" y una vez obtenido toda la información que se necesite deacuerdo a la configuración. Abrir, una nueva conexión para hacer una inserción que se debe llenar tabla1, tabla2, N-tablas en un solo flujo "todo ello, trabajarlo con flujo 'transaccional'" con sqlcommand. para no estar haciendo: abrir conexión y cerrar x cada consulta o abrir conexión-hacer-inserción y cerrar conexión por cada tabla que voy a insertar. Me encuentro estancado - ver como se podría realizar en la arquitectura en N! capas. Me gustaría un consejo o donde puedo leer para poder realizar la funcionalidad que deseo hacer. Disculpe las molestias. T-T. Todo ello, es un flujo para guardar información.

  • @eliassilva7228
    @eliassilva7228 3 ปีที่แล้ว

    Muy bueno, aprendi un poco mas de capas, saludos

  • @javiopakan2
    @javiopakan2 5 ปีที่แล้ว +5

    hey RJ. en otro video te habia preguntado si puedes hacer video que sean mas haya de CRUD y tenga otras logica de nogocio, me habias respondido que seria un poco complicado y largo, y entiendo, yo ahora te propongo que a este mismo ejemplo que hiciste aqui, lo vayas actualizando con videos cortos agregandole mas cosas, como ya tienes este hecho, ya tienes una parte del trabajo hecho.... gracias

  • @jonatancamanbustamante881
    @jonatancamanbustamante881 4 ปีที่แล้ว +3

    Gracias por por el apoyo a la comunidad RJ me gustaría que puedas realizar un CRUD avanzado con tablas relacionadas porfa

  • @Joss2002-y3q
    @Joss2002-y3q 7 หลายเดือนก่อน

    me ayudaste mucho con esto y los anteriores videos muchas gracias

  • @MrJotabus
    @MrJotabus 5 ปีที่แล้ว +4

    Hola, he visto tus tutoriales, y me parecen excelentes, me han ayudado mucho, y te agradezco por ello.
    Por otra parte te quería pedir si puedes dedicar alguno para entender mejor las interfaces en C#, agradecido. Saludos desde La Serena, Chile.

  • @odelalvarado4807
    @odelalvarado4807 4 ปีที่แล้ว +1

    Hola Equipo Code Advance; excelente labor al dedicar tiempo a la comunidad y sobre todo haciendo enfansis en las buenas practicas de programación... En particular agradezco todo el esfuerzo que dedican al hacer estos tutoriales y sobre todo la temática que abordan, que es muy actualizada; aprovecho para hacer una consulta con respecto a este tutorial y es un error registrado en la clase'DataValidation' = Error: 'System.ComponentModel.DataAnotation.ValidationContex' no contiene un argumento que tome 1 arguementos.:..... Y esto me esta botando su implementacón especificamente al incializar el constructor al pasarle el objeto 'instance' al 'contex = new ValidationContext(instance);' he revisado bien todas las clases e interfaces el manejo de las propiedades y la implementacion de los métodos Set y Get; todo esta funcionando bien; el CRUD lo esta trabajando de maravilla ecepto la implentacion de la validacion por los errores antes mencionado:::: espero su ayuda equipo para resolver este problema; estoy usando visual studio 2010.....

  • @joseluisquirozulin4186
    @joseluisquirozulin4186 6 หลายเดือนก่อน

    Que explicación de conceptos más buena. Felicidades

  • @antonyfranz215
    @antonyfranz215 4 ปีที่แล้ว +2

    Gracias por los conocimientos que compartes , entendí mucho mejor de lo que me enseñaron en el instituto :)

  • @ady200003
    @ady200003 2 ปีที่แล้ว +1

    Muchas gracias por compartir tus conocimientos con nosotros!!! Tus videos son geniales. Sería bueno que nos enseñaras cómo harías el mismo proyecto pero en tablas relacionadas. Por ejemplo, para una tabla de relaciones uno dos muchos y una tabla de relaciones muchos a muchos. Muchísimas gracias.

  • @camilosoto26
    @camilosoto26 ปีที่แล้ว

    Hola. Tus videos son excelentes, he aprendido mucho contigo. Gracias por tu labor. Puedes ampliar este programa para insertar múltiples filas (

  • @NN-jm9um
    @NN-jm9um 4 ปีที่แล้ว

    Eres mi nuevo ídolo!!!. Se aprende más contigo en 1 hora que en 3 meses de clases :O!!!

  • @sebastiangonzalez-wj1fj
    @sebastiangonzalez-wj1fj 3 ปีที่แล้ว

    excelente todo, con una explicación clara, deberias tener mas reproducciones, saludos!!

  • @josemanueldiazdelgado2999
    @josemanueldiazdelgado2999 ปีที่แล้ว

    Tremendo video tutorial. Muchas gracias

  • @fernandoleal83
    @fernandoleal83 5 ปีที่แล้ว +1

    Gracias, espero estés muy bien.
    Seguiré buscando información.
    Miles de gracias por tus enseñanzas.

  • @FredyGonzales
    @FredyGonzales 4 ปีที่แล้ว

    Excelente Gracias...me ayudo muchísimo!!!!! En caso saques un libro digital, avísame seré tu primer cliente.

  • @mahdiw679
    @mahdiw679 5 ปีที่แล้ว +3

    I'm from iran and i don't know what are you saying man but I'm a programmer and i think your work is awesome 👍

    • @RJCodeAdvance
      @RJCodeAdvance  5 ปีที่แล้ว

      Thank you very much Mahdi :)

  • @mamcodes3041
    @mamcodes3041 3 ปีที่แล้ว

    Agregarle pruebas unitarias sería aún más super genial, aún así es un contenido muy valioso, gracias por eso.

  • @nnn___0f
    @nnn___0f 4 ปีที่แล้ว

    Muchas gracias! Tus conocimientos son increibles

  • @user-xd2qk7yp9k
    @user-xd2qk7yp9k 3 ปีที่แล้ว

    BRO ERES UN CRACK, MAESTRO.

  • @miguellozada8850
    @miguellozada8850 5 ปีที่แล้ว +1

    Mi estimado amigo, me quito el sombrero como decimos en Venezuela

  • @TheJoseLuisGM
    @TheJoseLuisGM 5 ปีที่แล้ว +2

    Gracias por mencionar lo de el archivo de configuración, tenía muchos problemas con la conexión jajaja, saludos y eres grande bro!

  • @programadorlove6837
    @programadorlove6837 5 ปีที่แล้ว

    muchas gracias, estoy aprendiendo muchas cosas gracias a ti, siga así.

  • @AlbertoFranciscoMatambo
    @AlbertoFranciscoMatambo 2 ปีที่แล้ว

    En este mismo proyecto como se usaría la inyección de dependencia con Autofac o similares, por ejemplo. Me gustaría saber si tienes un proyecto de Windows forms con inyección de dependencias. Muchas gracias.

  • @angelsepulvedadev
    @angelsepulvedadev 5 ปีที่แล้ว +1

    Esta increíble tus tutoriales son un gran apoyo, se agradece mucho tu esfuerzo y ayuda :)

  • @genasols.r.l4910
    @genasols.r.l4910 2 ปีที่แล้ว

    Excelente video, una consulta, como se podría adaptar estos métodos para utilizar inner join y colocar un foreing key Categoria en la tabla Productos por ejemplo, si bien recomiendas que se haga en un ViewModel no puedo pasar el nombre de Categoria para que se muestre en el datagriedview, ¿me podrías dar un alcance?, gracias por tus videos

  • @gracasantanaferreiralima7887
    @gracasantanaferreiralima7887 4 ปีที่แล้ว

    Caro
    Fiz assina este projeto para adaptar o uma necessidade, porém tudo deu certo , mais tive que
    que adaptar minha necessidade," tem um campo chamado "MATRICULA" que esta com Int e no button "NOVO' tem um comando sql
    para acresenta + 1 no ultuma matricula cadastrado no BANCO DE DADOS.
    ==========================================================================================================================
    COMANDO NO BUTTON "
    private void conreg()
    {
    string sql = "SELECT MAX(matricula) From tbCadastrofunc";
    using (var conn = new SqlConnection("Data Source=P1041047\\SQLEXPRESS14;Initial Catalog=APOIO;Integrated Security=True"))
    using (var conn = new SqlConnection("Data Source=DISCOVERY-PC;Initial Catalog=APOIO;User ID=sa;Password=0800"))
    {
    var comando = new SqlCommand(sql, conn);
    try
    {
    conn.Open();
    int matricula = (int)comando.ExecuteScalar();
    Convert.ToInt32( txtMatricula.Text = (matricula + 1).ToString() );
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message)
    }
    }
    ============================================================================================================================
    ERRO AO SALVAR
    public DataValidation(object instance) {

    context = new ValidationContext(instance);
    results = new List();
    valid = Validator.TryValidateObject(instance, context, results, true);______Não é possível converter um objeto do tipo 'System.Int32' no tipo 'System.String'.

  • @piscosolutions5542
    @piscosolutions5542 5 ปีที่แล้ว +1

    Gracias por el aporte estimado

  • @alfredorodriguez598
    @alfredorodriguez598 5 ปีที่แล้ว +4

    Excelente explicación, gracias por compartir sus conocimientos desinteresadamente, Aunque me queda alguna duda, usualmente en su trabajo realiza los CRUD con ADO --> DataProvider? creo que todo ese repositorio quedaría mejor con Dapper, sobretodo por el Mapeo de las consultas a la entidad sin necesidad de usar un foreach del DataTable a la entidad, además que hoy en día en Dapper ya tiene los métodos Insert, Update, delete...etc...los he probado y la diferencia entre en el ADO puro y dapper es insignificante y en algunos casos hasta más rápido. Sería interesante adaptar este mismo proyecto para Dapper e incluso Entity FrameWork, aunque este último no me gusta el rendimiento, pero igual es importante conocer todas las tecnologías disponibles. Gracias nuevamente y bendiciones

    • @RJCodeAdvance
      @RJCodeAdvance  5 ปีที่แล้ว +8

      Hola Alfredo, tienes razón, es mejor usar ORM, como EF, Dapper, hibernate, entre otros, ya que reduce considerablemente el tiempo de desarrollo, prácticamente dejamos de preocuparnos por la capa de acceso a datos. Sin embargo, por ahora, el objetivo de mis videos es realizar tutoriales con ADO puro, para entender la "LÓGICA", como funciona, como interactuan, etc, ( Los ORM tienen códigos similares al del vídeo en la dll. Bien , mi canal es nuevo, y deseo dar una formación desde cero para niveles intermedios o avanzados, espero que tengan conocimientos sólidos, para sustentar mis tutoriales. y mas adelante, usaré ORM y otros frameworks.
      Saludos.

  • @mariogutierrez9893
    @mariogutierrez9893 3 ปีที่แล้ว

    Muchas gracias !!!!!

  • @felipemedinasalvatierra2094
    @felipemedinasalvatierra2094 2 ปีที่แล้ว

    Si eso es buena practica.

  • @emmanuelchavezaguirre6647
    @emmanuelchavezaguirre6647 4 ปีที่แล้ว

    Son increibles todos tus videos. Felicidades. una pregunta dentro de este CRUD como podria agregar una imagen que valla acorde a la informacio. gracias

  • @edinsonguardia750
    @edinsonguardia750 4 ปีที่แล้ว

    Muchas gracias por el tutorial! En caso quisiera que el aplicativo soporte Base de datos Sql Server y Oracle como se debería de realizar la programación? Antes sólo se condicionaba la sentencia SQL pero ahora también se tiene que condicionar la librería (clase) de acceso a datos. Podrías darme tu opinión al respecto? Muchas gracias!!!

  • @alexanderf.andrade9222
    @alexanderf.andrade9222 4 ปีที่แล้ว +1

    Muy buena información, felicitaciones! tengo dos principales dudas.. 1ra. En éste modelo puedo reemplazar DataTable por Listas Genericas y la 2da. en este modelo puedo relacionar clases para mostrar consultas Inner Joins, créeme adquirí el código en su tienda y lo he intentado y no he obtenido resultados, espero despeje mis dudas. Muchas gracias.

  • @javiopakan2
    @javiopakan2 4 ปีที่แล้ว +1

    RJ. saludos.... Te deseo un año genial y tus proyectos se cumplan.... Bro. me gustaria saber si en algun momento vas hacer un tutorial de creacion de un master details, usando los principios explicados aqui

  • @skyblackperuperu7763
    @skyblackperuperu7763 ปีที่แล้ว

    Hola RJCodeAdvance, muy excelentes tus videos, muchos exitos en tus proyectos, asi mismo hacerte la siguiente consulta, en la clase "DataValidation " en la linea context = New ValidationContext(instace), se marca con linea roja, segui los pasos y sigue lo mismo sin dejarme corregir, podrías orientarnos a corregir sobre ese error?.

  • @abelardosarabia2176
    @abelardosarabia2176 3 ปีที่แล้ว

    Amigo. Me gustaria que me ayudaras en algo para un proyecto que estoy desarrollando con esta metodologia. No quisiera por ejemplo en el Get all mostrar simplemente un select * From Employee si no traer datos de tablas relacionales por ejemplo si el empleado tuviere un campo foraneo de una tabla Dpto etc. Me podias ayudar para reemplazar la lectura con tablas relacionadas? existe algun codigo generico?

  • @hernanperez1663
    @hernanperez1663 3 ปีที่แล้ว

    Estan increibles los tutoriales, pero haciendo las pruebas de este y siguiendo todos los pasos me da un error al momento de usar el Validator: valid = Validator.TryValidateObject(instance, context, results, true);, me dice lo siguiente= System.InvalidCastException: 'No se puede convertir un objeto de tipo 'System.Boolean' al tipo 'System.String'.'
    si pudieras indicarme ya que ya no se que probar, gracias de antemano.

  • @fedepereyra5885
    @fedepereyra5885 3 ปีที่แล้ว

    Genio !!! Gracias

  • @davidchavez9749
    @davidchavez9749 4 ปีที่แล้ว

    Excelente he aprendido mucho :)
    Será que puedes hacer un ejemplo de un formulario de factura, para saber con detalle la inserción de datos, la capa de dominio, acceso a datos, y modelos de vista, por favor??

  • @josecuello2239
    @josecuello2239 4 ปีที่แล้ว +2

    Excelente trabajo, Gracias por todo lo que has echo por nosotros.
    Podrías implementar un proyecto utilizando mysql?, así afianzar un poco mas en las 2 bases de datos
    de antemano gracias.

    • @RJCodeAdvance
      @RJCodeAdvance  4 ปีที่แล้ว

      OK, consideraré, sin embargo todo es igual, lo único que cambia es SQL por MySQL. Ejemplo:
      -SqlCommand MySqlCommand
      -SqlConnection MySqlConnection
      -SqlDataReader MySqlDataReader
      Ello se explica aquí.
      rjcodeadvance.com/cap-2-login-logout-y-mostrar-datos-del-usuario-validaciones-con-arquitectura-en-capas-poo-c-y-mysql-nivel-intermedio/
      Si te interesa, puedes obtener el proyecto con MySQL
      rjcodeadvance.com/producto/login-completocrud-project-mysql-nivel-avanzado/

    • @josecuello2239
      @josecuello2239 4 ปีที่แล้ว +2

      @@RJCodeAdvance Gracias lo tendre en cuenta..

  • @josuechacon6098
    @josuechacon6098 4 ปีที่แล้ว

    Hola el tutorial es muy bueno gracias por el tiempo que se a tomado por subirlo
    E querido preguntarle si no puede hacer un tutorial con un CRUD que tenga PictureBox y la imagen se guarde en la base de datos

  • @matiasferreyra8673
    @matiasferreyra8673 4 ปีที่แล้ว

    Idolo! Que paso? no vas a subir mas videos?

  • @alanyassirmartinezarriola667
    @alanyassirmartinezarriola667 2 ปีที่แล้ว

    ¡Gracias!

  • @nancynardelli5466
    @nancynardelli5466 ปีที่แล้ว

    Gracias!

  • @franciscovilla6203
    @franciscovilla6203 4 ปีที่แล้ว

    ¡Hola RJ Code Advance! Antes que nada le envió un cordial saludo. Existe la manera de que cuando la aplicación esté instalada en otras computadoras podamos ver todos los usuarios que están conectados al mismo tiempo?. Voy a colocar como ejemplo el video de CRUD con tablas; ver a todos aquellos usuarios que está realizando cambios, eliminando o agregando información.
    Mi otra pregunta es... Los usuarios pueden cargar archivos a la base de datos?. Me refiero, por ejemplo, un usuario cargar un archivo PDF y los demás usuarios tienen acceso a el.

  • @angelloSDS
    @angelloSDS 4 ปีที่แล้ว +2

    Excelente tutorial, Gracias... siguiendo el tutorial intente hacer un maestro detalle(cotización-cotizaciondetalle), genere mis entidades , repositorios y modelos, y todo iba bien hasta que en el formulario al momento de guardar quiero asignar el detalle de la cotización, para esto debo generar primero un objeto nuevo de mi entidad cotizaciondetalle, pero las entidades están en la capa datos y no es alcanzada por la capa presentación , entonces aquí como le puedo hacer o debe hacerse? de antemano gracias y Saludos

    • @RJCodeAdvance
      @RJCodeAdvance  4 ปีที่แล้ว +2

      Genera el objeto en la capa de dominio (model) y pásalo a la capa de acceso a datos.

    • @angelloSDS
      @angelloSDS 4 ปีที่แล้ว

      @@RJCodeAdvance Gracias nuevamente ... creo que no entendi :(. pase mediante un datatable los datos a la capa dominio y de ahi lo asigne pero en la capa datos lo saco de nuevo y creo que no fue lo correcto. ahora a la inversa al sacar los datos en el modelo de la capa dominio entra bien pero no logro sacarla en la capa presentacion..error El tipo 'CotizacionDetalle' está definido en un ensamblado al que no se hace referencia.

    • @RJCodeAdvance
      @RJCodeAdvance  4 ปีที่แล้ว +2

      La capa de acceso a datos tiene sus propios entidades de persistencia(objeto1), al igual que la capa de dominio, tienes sus propios entidades de negocio(objeto2), por lo tanto no hay ningún problema al pasar los datos entre las capas. Simplemente Pasa los datos de objeto2 a objeto1 (Mapear). Para mostrar los datos en la capa de presentación, retorna objeto2.
      Return objeto2.

    • @angelloSDS
      @angelloSDS 4 ปีที่แล้ว

      @@RJCodeAdvance eso todo bien(datos y dominio) ... el detalle es en la capa de presentación mi obj cotizacion (contiene el encabezado y el detalle) , asigno el encabezado a mis textbox sin problema txtcotizacion.text = modelocotizacion.cotizacion ... pero cuando llego a modelocotizacion.detalle es un listado de cotizaciondetalle (renglón,cantidad,precio ) esto ultimo no lo puedo sacar o asignar para guardar porque no encuentra la entidad cotizaciondetalle y me pide hacer referencia a la capa datos ... de antemano gracias. Saludos

    • @RJCodeAdvance
      @RJCodeAdvance  4 ปีที่แล้ว +2

      No entiendo mucho la estructura actual que usas ¿Como obtienes los datos de la cotizaciondetalle (renglón,cantidad,precio )?- ¿En que almacenas la lista de detalle en la capa de presentación? ¿y como almacenas la lista de presentación para enviar a dominio ? Seria bueno que compartieras capturas de pantalla del código.
      rjcodeadvance.com/contacto/

  • @Fernando-yj1rj
    @Fernando-yj1rj 5 ปีที่แล้ว +2

    Genio podrias hacer algun tutorial para ver manejos de Transacciones? Gracias y sigue asi!!!

  • @carlosotaviomaderfernandes5639
    @carlosotaviomaderfernandes5639 4 ปีที่แล้ว

    Boa noite, é sempre um aprendizado assistir os seus tutoriais, parabéns por seu trabalho, com certeza tem auxiliado muitas pessoas como eu (Autodidatas). Entretanto, tenho algumas questões, coisa de principiante. No tutorial C6, o Sr. utilizou uma estrutura onde a pasta entidades foi colocada na biblioteca de classes Data Acess e no tutorial C5 a mesma foi executada na biblioteca de classe Domain, bem como, contratos e Abstracions, consecutivamente(????). Desculpe, qual seria a mais correta disposição?

  • @davidramirez4306
    @davidramirez4306 4 ปีที่แล้ว

    Buenas tardes, primero felicitarlo por sus tutoriales, ademas agradecer por compartir sus conocimientos.
    por ultimo saber si tiene cursos en algún plataforma para poder tomarlos, estaré al tanto de su respuesta.

  • @sandroalfieribermudezmore532
    @sandroalfieribermudezmore532 4 ปีที่แล้ว

    Ya no aplicas los procedimientos almacenados ,, porque amigo RJ... Que procedimiento es mejor ????

  • @mexxiano
    @mexxiano 3 ปีที่แล้ว

    Estimado! Excelente video! Muchas gracias! Increíble y valioso aporte! Una consulta: en la capa de presentación quedó a mi entender inconcluso el tema "ViewModels". ¿Hay algún video tuyo para ver al respecto? ¿O alguno para recomendar en otro canal? Desde ya, muchas gracias!

  • @William1974-d3r
    @William1974-d3r 3 ปีที่แล้ว

    Lo maximo el video RJ Code Advance.
    Crees sea posible complementar este video con un ejemplo de implementaciones de logica de negocios y ver como funciona con los CRUD? o Como Interactuan?

  • @neto21legend
    @neto21legend 5 ปีที่แล้ว +1

    Wow oro puro

  • @rolandopinedorojas2614
    @rolandopinedorojas2614 3 ปีที่แล้ว

    en listaemprea(... FechaNac = Convert.Datetime(item[10]) da un error ya que el campo viene en Null, como se soluciona?

  • @germanvillegas5010
    @germanvillegas5010 5 ปีที่แล้ว +1

    excelentes tus videos men..me han servidor de muucho para aprender cada vez mas y mas con c#, excelente este y todos tus videos, tendrás algún video o nos podrías compartir por favor alguno donde se pueda volcar(mostrar) la info desde sql en un control tab?...la idea es aprovechar el espacio en la pantalla al dividir la información que se obtiene desde una query en varias pestañas(tab´s)....

    • @RJCodeAdvance
      @RJCodeAdvance  5 ปีที่แล้ว +1

      Entiendo, en cada tab tendrias un datagriview y mostrarlo, no creo que se necesite saber la posicion del tab, basta con saber el nombre del datagrdiview.
      Talves entendi mal, me podrias orientar mas, y asi considerarlo para un proximo video.

    • @germanvillegas5010
      @germanvillegas5010 5 ปีที่แล้ว +1

      @@RJCodeAdvance exacto....en cada tab se pondria un datagridview que se alimenta desde una query en el modelo de capas de este video...exacto men...justo ahorita estoy programando de hecho y repasando tus videos de lujo

    • @RJCodeAdvance
      @RJCodeAdvance  5 ปีที่แล้ว

      Lo tendré en cuenta para próximos ecuatoriales

  • @ctj01
    @ctj01 5 ปีที่แล้ว

    que opinas de fluentValidator para hacer las validaciones ?

    • @RJCodeAdvance
      @RJCodeAdvance  5 ปีที่แล้ว

      Es muy bueno, en cuanto realizar validaciones condicionales de manera fácil, lo que hace tener un mejor control sobre las reglas comerciales.

  • @Mrleopola
    @Mrleopola 3 ปีที่แล้ว

    Hola. Espectacular video y explicaciones. Tengo un inconveniente. Estoy usando la lógica del video, pero me conecto a SQLite. Donde dentro del sistema, debo copiar la base de datos para que me la tome? O si cambia en algo, cómo sería? Espero puedas ayudarme. O algún usuario pueda darme una mano. Saludos.

  • @fernandoleal83
    @fernandoleal83 5 ปีที่แล้ว

    Hola espero estés muy bien, miles de gracias por tus enseñanzas.
    sigo tus tutoriales y son fabulosos, me ayudaron mucho en este año que empece la carrera de programación
    una consulta sobre este vídeo, si debo de colocar interfaces ? como seria el procedimiento ?
    es decir interfaces gráfica.
    muchas gracias.
    saludos.
    Fernando Leal.

    • @RJCodeAdvance
      @RJCodeAdvance  5 ปีที่แล้ว

      Hola Fernando, en el vídeo menciono sobre programación orientada a interfaces, pero no referente a interfaces gráficas.
      Las interfaces y las interfaces gráficas de usuario son totalmente distintos.

  • @juliocesaralfarobonilla3470
    @juliocesaralfarobonilla3470 3 ปีที่แล้ว

    en la demo que uno descarga de la pagina alguien sabe que nombre de usuario y contraseña debo colocar?

  • @qlmdev
    @qlmdev ปีที่แล้ว

    Fantastic, thanks!

  • @sairialbarran5255
    @sairialbarran5255 5 ปีที่แล้ว +1

    como se trabaja con dos tablas en la base de datos con una clave foranea? , muchas gracias

    • @RJCodeAdvance
      @RJCodeAdvance  5 ปีที่แล้ว

      Podrías tomar una idea básica de este video.
      th-cam.com/video/wMgfmNdxNsw/w-d-xo.html

  • @andycq2062
    @andycq2062 5 ปีที่แล้ว +1

    muchas gracias

  • @-ELEAZAR-
    @-ELEAZAR- 5 ปีที่แล้ว

    genio total

  • @alejandrotalanchaesquives1540
    @alejandrotalanchaesquives1540 4 ปีที่แล้ว

    Excelente!!!

  • @orlandofernandez3657
    @orlandofernandez3657 3 ปีที่แล้ว

    normal puedo utilizar carpetas para nombrar a las capas verdad?; lo digo por que en la capa presentación me gustaría tener como en otro video, por ejemplo: "UI.Desktop" , otro proyecto "UI.Movil".

  • @luiscarlossilvaaguas5776
    @luiscarlossilvaaguas5776 5 ปีที่แล้ว +1

    Muy buen tutorial

  • @pablorubino3871
    @pablorubino3871 4 ปีที่แล้ว

    Hola, son muy buenos tu tutoriales, ahora estoy desarrollando algo parecido a lo que mostraste de los forms modernos con paneles, pero tengo una consulta: en un form cargo una grilla con datos, luego tengo un boton "nuevo" que llama a otro form (puede ser abierto con showdialog) y agrega un nuevo cliente, una vez que guardo y cierro necesito que se refresque el datagridview con el nuevo registro, pero no puedo lograrlo....me podras dar una mano? (o alguien que me lea...) gracias! (mi desarrollo es en vbnet)

    • @luismiguellopezlopez3464
      @luismiguellopezlopez3464 4 ปีที่แล้ว

      Hola Pablo, la verdad no sé en vb, pero tal vez contándote cómo lo logré en C# puedas dar con tu solución:
      .
      1. En el form principal crea un método que actualice los registros de tu DataGridView, por ejemplo:
      private void fncActualizarDGV(object sender, FormClosedEventArgs e)
      {
      // Tu código de actualizar el DataGridView
      }
      NOTA: Los parámetros de entrada "object sender, FormClosedEventArgs e" son necesarios tal cual están ahí.
      .
      2. En el método en el que invocas al otro formulario (como el método click del botón "Editar"), añade una línea donde sobrecargues el método "FormClosed" del formulario que abres con el método que creaste en el punto 1, así:
      ObjetoDelFormQueAbres.FormClosed += fncActualizarDGV;
      NOTA: Antes debes haber instanciado el formulario que vas a abrir con el botón, en este caso yo llamé al objeto así: "ObjetoDelFormQueAbres", y a ese objeto es al que le sobrecargas el método "FormClosed".
      .
      De esta manera, cuando se cierre el formulario de editar, se ejecutará el método de actualizar el DGV. Una cosa es que la verdad no sé si funcione abriendo el form desde un showdialog, yo lo hago instanciando el formulario y "abriéndolo" con .Show()
      Ojalá esto te pueda ayudar, ya sea a ti o a alguien más =)

  • @jazielrodriguez3413
    @jazielrodriguez3413 4 ปีที่แล้ว

    Hola hermano estan muy buenos tus tutoriales he aprendido mucho de estos videos,
    Tengo una pregunta para poder hacer un LOGIN es necesario crear un metodo en el repositorio del empleado?? Dado que para hacer esto tengo que mandarle los parametros o como lo harias?

  • @jorgetigrero104
    @jorgetigrero104 5 ปีที่แล้ว

    Hola Felicitaciones por estos videos son grandes aporte a la comunidad de programadores y a mi me ha servido de mucho he aprendido bastante, sin embargo tengo una consulta, me gustaria saber como quedaria en la capa DataAcces cuando se hace transacciones con tablas relacionadas .. o como es el uso de commit y rollback .... de antemano muchas gracias.

    • @RJCodeAdvance
      @RJCodeAdvance  5 ปีที่แล้ว +1

      Hola, para las transacciones a tablas relacionadas, simplemente ejecuta las 2 transacciones de cada tabla en una sola.
      string insertarTabla1= "insert into";
      string insertarTabla2= "insert into";
      sqlcommand.commandText=insertarTabla1+insertarTabla2;
      sqlcommnad.executenonquery();

  • @joseescarcega3625
    @joseescarcega3625 5 ปีที่แล้ว

    Hola, muy buenos videos he aprendido mucho te agradezco en aporte, tengo una duda como hacer consultas con parametros como se agregan. Saludos.

    • @RJCodeAdvance
      @RJCodeAdvance  5 ปีที่แล้ว

      Hola, simplemente sobrecarga el metodo executeReader y que acepte parametros.Ejemplo
      protected DataTable ExecuteReader(string sqlCommand, List parameters)
      //Aqui realiza todas las operaciones de la consulta

    • @joseescarcega3625
      @joseescarcega3625 5 ปีที่แล้ว

      @@RJCodeAdvance Hola, gracias por la respuesta, si el parametro lo tengo en un textbox, digamos quiero hacer un SELECT * FROM WHERE ndato = ndato como viaja el textbox entre capas, en vez de GetAll, GetByNdato

    • @RJCodeAdvance
      @RJCodeAdvance  5 ปีที่แล้ว +1

      El dato viaja a través de parámetros en los métodos.
      public IEnumerable GetByNdato (string value)
      {
      //invoca el método de realizar consulta de la clase master
      ExecuteReader(slqcommand, parameters)
      }

    • @joseescarcega3625
      @joseescarcega3625 4 ปีที่แล้ว

      @@RJCodeAdvance Hola Que tal amigo, tengo otra duda, en vez de hacer un select * from table, seleccionar las columnas, ejemplo select col1,col2,col3 from * table lo he intentado pero me marca error diciendome que no se ha encontrado n columna, tengo que agregar los parametros de las unicas columnas que quiero ver ? Saludos. Te Recuedo Tus Videos Son Geniales.

  • @hectorgabrieladriantula5331
    @hectorgabrieladriantula5331 5 ปีที่แล้ว

    RJ Seguí tu tutorial me sirvió bastante, quería consultarte a vos y todos los que saben del tema, como podría hacer para mostrar una imagen del empleado desde EmpleadoRepository? saludos.

    • @RJCodeAdvance
      @RJCodeAdvance  5 ปีที่แล้ว +3

      Hola Adrian, los datos de un imagen se manejan en bytes, tanto en la aplicación y la base de datos, entonces en la entidad empleado adiciona un campo: public byte image, pásalo a la capa de dominio, y en la capa de presentación conviértelo a image, mediante memorystream - image

    • @hectorgabrieladriantula5331
      @hectorgabrieladriantula5331 5 ปีที่แล้ว +1

      @@RJCodeAdvance Muchas Gracias por responder! Sobre todo, por hacer estos tutos que nos ayudan muchisimo a encontrar mejores métodos y prácticas en desarrollo.

    • @eljovendeazul
      @eljovendeazul 3 ปีที่แล้ว

      @@hectorgabrieladriantula5331 amigo lo lograste hacer?

  • @omaritookof5606
    @omaritookof5606 5 ปีที่แล้ว

    tus clases son super interesantes me dolio que bas a dejar de bajar clasen de c#

  • @nataliaguevara739
    @nataliaguevara739 5 ปีที่แล้ว

    Al fin encontre este video

  • @brainservice6863
    @brainservice6863 4 ปีที่แล้ว

    What to do when the table contains images?
    My Employee Table contains an Image field when this field is null, the GetAll method crashes because the image is stored in byte [] in the database and the method does not support the System.DbNull. It is the same if we have an int field which has null values. Please could you tell me how to load the list into the DataGridView with values of type Null, byte and int ?
    Thank you.

    • @RJCodeAdvance
      @RJCodeAdvance  4 ปีที่แล้ว

      Hi,
      To load the value, first check that the image field of the database is not empty/Null.
      if (item["Field name or number"] != DBNull.Value) objectField = (byte[])item["Field name or number"];
      code copied from
      rjcodeadvance.com/producto/login-completocrud-project-csql-server-nivel-avanzado/

  • @victoremmanuelrivas3380
    @victoremmanuelrivas3380 3 ปีที่แล้ว

    Duda es mejor VB o C# en CRUD?
    excelente video
    De los mejores

  • @Caos296
    @Caos296 4 ปีที่แล้ว

    Muy buenos los tutoriales, me gustarías saver si mas adelante sacaras validaciones, duplicados vacíos y como es mejor manejarlo con sp con raisererror y obtener el error en la aplicación

  • @ricardocuevas1578
    @ricardocuevas1578 5 ปีที่แล้ว

    oye como pongo lo de que no importen las mayusculas?

  • @marc01mcl
    @marc01mcl 5 ปีที่แล้ว

    Bom dia, estou usando este modelo para fazer um projeto e apareceram algumas dúvidas, tem como entrar em contato com você por e-mail para enviar o código? Estou usando Procedures SQL Server. Minha dúvida principal é como enviar os dados para o GridView

  • @2005bgva
    @2005bgva 4 ปีที่แล้ว

    Muy bueno, que tan factible sería subas un vídeo con EntityFramework?

  • @jorgecastro6612
    @jorgecastro6612 5 ปีที่แล้ว +1

    Hola, podrías hacer uno con servicios WCF?

  • @andresjscp
    @andresjscp 5 ปีที่แล้ว +1

    Esta muy buena tu guía de programación en capas para apis o software pequeñas, Pero pensé que nos estabas preparando para esa arquitectura DDD, para programación con cambios fáciles e independientes y para desarrollo grandes. Podrías decirme en donde puedo buscar una guía para ese tipo de arquitectura ya que no vas programar más y es verdad hay que valorar tu tiempo. Por eso te recomendaría realizar este tipo de curso en Udemy u otra plataforma. Ya que tienes una buena comunidad que te siguen y de seguro lo compraríamos. Pero estoy interesado en la arquitectura DPI de fácil cambios ....Si puedes guiarme a donde investigar o libro sería de gran ayuda.

    • @andresjscp
      @andresjscp 5 ปีที่แล้ว

      Ahh y casi lo olvido... Muchas gracias por tu tutoriales son perfectos.... He valorado cada tutorial que haces aquí bastante.... Mucho éxito para tus proyectos....

    • @RJCodeAdvance
      @RJCodeAdvance  5 ปีที่แล้ว +1

      Muchas gracias Andres, un comentario muy alentador , respecto a la DDD, no creo que encuentres ejemplos específicos en la red, y como mencioné en este vídeo y los anteriores , si quieres aprender y buscar mas información, solamente queda leer los libros.
      -Domain-driven design (DDD) de Eric Evans
      -Patterns of Enterprise Application Architecture(PEAA) de Martin Fowler
      -Implementing Domain-Driven Design de Vaughn Vernon
      -Design Patterns Elements of Reusable Object-Oriented Software de GOF (base de todo)
      bueno son los libros que considero importantes
      Saludos

    • @andresjscp
      @andresjscp 5 ปีที่แล้ว +1

      @@RJCodeAdvance Muchas gracias....

  • @joseadrianvelazquezdena2522
    @joseadrianvelazquezdena2522 5 ปีที่แล้ว

    Una pregunta, no me aparece el menú de acciones rápidas y refactorizaciones así como el foco al lado del numero de línea. me puedes ayudar?

  • @maikyelfan70
    @maikyelfan70 5 ปีที่แล้ว

    Primeramete muchas Gracias por los videos, son de gran calidad espero que sigas haciendo más videos como estos. Tambien para consultarte un problema que tengo en la cadena de conexion me marca una exepcion "Referencia a objeto no establecida como instancia de un objeto"

  • @cruzej2228
    @cruzej2228 4 ปีที่แล้ว

    Queria saber como eliminar todas las filas de una datagridviews y dejarla limpia sin campos

  • @adamonjourney3726
    @adamonjourney3726 3 ปีที่แล้ว

    You are a great teacher! Would you mind to do some more tutorials? :)

  • @javieralegre6948
    @javieralegre6948 5 ปีที่แล้ว

    Hola, quisiera saber que versiones de: visual studio, sql server y de .Net framework, debo descargar para que pueda desarrollar este proyecto y no tener problemas de versiones o compatibilidad? Gracias. Saludos

    • @RJCodeAdvance
      @RJCodeAdvance  5 ปีที่แล้ว

      Hola, se puede desarrollar desde visual studio 2008 / C# 3.0/ .Net framework 3.5/ sql server 2008

    • @javieralegre6948
      @javieralegre6948 5 ปีที่แล้ว

      Quisiera bajar las ultimas versiones de sofware. No abría problemas? Por ejemplo Net. Core o solo hasta visual estudio 2017?

    • @RJCodeAdvance
      @RJCodeAdvance  5 ปีที่แล้ว +1

      No hay problemas. El proyecto del vídeo esta en VS 2017

    • @javieralegre6948
      @javieralegre6948 5 ปีที่แล้ว

      Muchas gracias.

  • @WesBarrantes
    @WesBarrantes 4 ปีที่แล้ว

    no me deja obtener el codigo, me da problemas el pago en paypal

  • @TheGeardarko
    @TheGeardarko 5 ปีที่แล้ว +1

    Y como se podría hacer esto con MySQL

  • @jjuvenalpacom8750
    @jjuvenalpacom8750 5 ปีที่แล้ว +1

    Buen tutorial pro

  • @dantegpalominoc2501
    @dantegpalominoc2501 5 ปีที่แล้ว +1

    Muchas Gracias :)

  • @elkhayyat85
    @elkhayyat85 5 ปีที่แล้ว +1

    ¿Qué pasa con Visual Basic cómo podemos hacerlo?

  • @felexfarmer9000
    @felexfarmer9000 2 ปีที่แล้ว

    How to get data with combo box?

  • @lucanobuenodianaelizabeth9693
    @lucanobuenodianaelizabeth9693 4 ปีที่แล้ว

    Todo ok, perfecto! Sólo que me sigue saliendo error en "get all" la palabrita "Rows" , es el único error que me sale, ayuda please.

  • @jxlambda
    @jxlambda 5 ปีที่แล้ว +1

    ¿Cómo se haría el control de usuarios de esta forma?

    • @RJCodeAdvance
      @RJCodeAdvance  5 ปีที่แล้ว

      Hola Jose, podrias guardar los datos del usuario en la capa común. Aquí el vídeo tutorial.
      th-cam.com/video/FTVwDGvoQ1g/w-d-xo.html

    • @jxlambda
      @jxlambda 5 ปีที่แล้ว

      @@RJCodeAdvance Muchas gracias, por alguna razón no me aparece las notificaciones de respuesta.

    • @jxlambda
      @jxlambda 5 ปีที่แล้ว +1

      A propósito tengo otra duda, ¿Cómo se crearía un viewModel que solo muestre ciertos campos? ¿tendría que referenciar la capa de Data Access desde Presentation y eliminar los campos de Models?