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
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.
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.
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.
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
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.
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.....
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.
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.
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
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'.
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
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.
Son increibles todos tus videos. Felicidades. una pregunta dentro de este CRUD como podria agregar una imagen que valla acorde a la informacio. gracias
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!!!
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.
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
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?.
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?
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.
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??
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.
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/
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
¡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.
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 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.
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.
@@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
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/
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?
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.
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!
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?
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)....
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.
@@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
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.
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.
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.
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".
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)
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 =)
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?
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.
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();
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
@@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
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) }
@@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.
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.
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
@@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.
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.
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/
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
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
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.
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....
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
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"
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
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?
Video muy completo, solido con buenas prácticas y uno de los mejores en la plataforma Windows. Felicitaciones,
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
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.
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.
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
Gracias a las enseñanza que nos da. Sinceramente gracias.
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.
Muy bueno, aprendi un poco mas de capas, saludos
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
Gracias por por el apoyo a la comunidad RJ me gustaría que puedas realizar un CRUD avanzado con tablas relacionadas porfa
me ayudaste mucho con esto y los anteriores videos muchas gracias
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.
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.....
Que explicación de conceptos más buena. Felicidades
Gracias por los conocimientos que compartes , entendí mucho mejor de lo que me enseñaron en el instituto :)
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.
Hola. Tus videos son excelentes, he aprendido mucho contigo. Gracias por tu labor. Puedes ampliar este programa para insertar múltiples filas (
Eres mi nuevo ídolo!!!. Se aprende más contigo en 1 hora que en 3 meses de clases :O!!!
excelente todo, con una explicación clara, deberias tener mas reproducciones, saludos!!
Tremendo video tutorial. Muchas gracias
Gracias, espero estés muy bien.
Seguiré buscando información.
Miles de gracias por tus enseñanzas.
Excelente Gracias...me ayudo muchísimo!!!!! En caso saques un libro digital, avísame seré tu primer cliente.
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 👍
Thank you very much Mahdi :)
Agregarle pruebas unitarias sería aún más super genial, aún así es un contenido muy valioso, gracias por eso.
Muchas gracias! Tus conocimientos son increibles
BRO ERES UN CRACK, MAESTRO.
Mi estimado amigo, me quito el sombrero como decimos en Venezuela
Gracias Miguel :) Saludos
Gracias por mencionar lo de el archivo de configuración, tenía muchos problemas con la conexión jajaja, saludos y eres grande bro!
muchas gracias, estoy aprendiendo muchas cosas gracias a ti, siga así.
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.
Esta increíble tus tutoriales son un gran apoyo, se agradece mucho tu esfuerzo y ayuda :)
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
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'.
Gracias por el aporte estimado
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
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.
Muchas gracias !!!!!
Si eso es buena practica.
Son increibles todos tus videos. Felicidades. una pregunta dentro de este CRUD como podria agregar una imagen que valla acorde a la informacio. gracias
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!!!
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.
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
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?.
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?
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.
Genio !!! Gracias
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??
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.
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/
@@RJCodeAdvance Gracias lo tendre en cuenta..
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
Idolo! Que paso? no vas a subir mas videos?
¡Gracias!
Gracias!
¡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.
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
Genera el objeto en la capa de dominio (model) y pásalo a la capa de acceso a datos.
@@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.
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.
@@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
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/
Genio podrias hacer algun tutorial para ver manejos de Transacciones? Gracias y sigue asi!!!
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?
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.
Ya no aplicas los procedimientos almacenados ,, porque amigo RJ... Que procedimiento es mejor ????
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!
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?
Wow oro puro
en listaemprea(... FechaNac = Convert.Datetime(item[10]) da un error ya que el campo viene en Null, como se soluciona?
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)....
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.
@@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
Lo tendré en cuenta para próximos ecuatoriales
que opinas de fluentValidator para hacer las validaciones ?
Es muy bueno, en cuanto realizar validaciones condicionales de manera fácil, lo que hace tener un mejor control sobre las reglas comerciales.
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.
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.
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.
en la demo que uno descarga de la pagina alguien sabe que nombre de usuario y contraseña debo colocar?
Fantastic, thanks!
como se trabaja con dos tablas en la base de datos con una clave foranea? , muchas gracias
Podrías tomar una idea básica de este video.
th-cam.com/video/wMgfmNdxNsw/w-d-xo.html
muchas gracias
genio total
Excelente!!!
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".
Muy buen tutorial
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)
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 =)
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?
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.
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();
Hola, muy buenos videos he aprendido mucho te agradezco en aporte, tengo una duda como hacer consultas con parametros como se agregan. Saludos.
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
@@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
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)
}
@@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.
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.
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
@@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.
@@hectorgabrieladriantula5331 amigo lo lograste hacer?
tus clases son super interesantes me dolio que bas a dejar de bajar clasen de c#
Al fin encontre este video
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.
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/
Duda es mejor VB o C# en CRUD?
excelente video
De los mejores
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
oye como pongo lo de que no importen las mayusculas?
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
Rjcodes.net@gmail.com
Muy bueno, que tan factible sería subas un vídeo con EntityFramework?
Hola, podrías hacer uno con servicios WCF?
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.
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....
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
@@RJCodeAdvance Muchas gracias....
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?
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"
Queria saber como eliminar todas las filas de una datagridviews y dejarla limpia sin campos
You are a great teacher! Would you mind to do some more tutorials? :)
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
Hola, se puede desarrollar desde visual studio 2008 / C# 3.0/ .Net framework 3.5/ sql server 2008
Quisiera bajar las ultimas versiones de sofware. No abría problemas? Por ejemplo Net. Core o solo hasta visual estudio 2017?
No hay problemas. El proyecto del vídeo esta en VS 2017
Muchas gracias.
no me deja obtener el codigo, me da problemas el pago en paypal
Y como se podría hacer esto con MySQL
Buen tutorial pro
Muchas Gracias :)
¿Qué pasa con Visual Basic cómo podemos hacerlo?
How to get data with combo box?
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.
¿Cómo se haría el control de usuarios de esta forma?
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
@@RJCodeAdvance Muchas gracias, por alguna razón no me aparece las notificaciones de respuesta.
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?