C# - 3 Capas - Programacion en 3 capas y SQL Server DB Relacionales y CRUD

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

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

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

    si quiero que una clave foranea que se incerte siendo esta generado por el sistema mismo como le hago?

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

      normal mente las llaves foraneas hacen referencia a una llave primaria de otra tabla, debes analizar bien la idea que tienes, te comparto esta info: es.stackoverflow.com/questions/125034/consulta-sql-express-llave-for%C3%A1nea-valor-auto-incremental

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

      la explicación que se da en stackoverflow es muy mala. Creo entender tu problema. Justamente ese ha sido para mi un quebradero de cabeza. Yo lo solucioné utilizando Triggers o desencadenadores desde MySQL. También se pueden usar de MS SQL hasta donde entiendo. Es decir, un trigger te permite insertar, de manera automática, en la llave foránea el registro auto incremental definido como principal en la tabla padre. Es muy útil cuando no quieres que el usuario final introduzca ese dato.

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

      @@mrchmejia entonces puedo hacer un trigger que añada las claves primarias en las tablas con las que tiene relación insertando las como claves foráneas?

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

    Problema con el método Buscar_datos(), de la capa diseño. Error de conversión de tipos. El tipo de datos para el campo “id” la tienes definida como de tipo string y el control “txt_id.Text” admite string, por lo que no hay problema. Sin embargo, en la vida real, generalmente el tipo de datos para un campo identificador definido como PK es un tipo Int auto incremental. Cuando intentas hacer: “txt_id.Text = objproceso.id”, te salta el error C0029 que te indica que no se puede realizar una conversión implícita de string a int. He intentado de todas formas usando “Covert.Toint32” o “int32.Parse”, ates del control txt o después del símbolo de igual y no se deja. Soy nuevo en esto y no se como solucionarlo. ¿Alguna idea?

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

      SOLUCIONADO!!!! Dado que necesitaba con urgencia una respuesta, debí seguir investigando y he encontrado la solución a mi problema. El dato capturado en el “txt_id.Text”, es un string, pero la variable “id” de la tabla “personas”, YO la definí como un dato de tipo Int. Como expliqué en mi comentario anterior en la vida real los “id”, son identificadores que en programación se suelen definir como PK auto incrementales de tipo Int. En el ejemplo del video, fue definido como String, algo que se puede hacer pero lo he visto con menos frecuencia. Entonces, para evitar el error de conversión que expliqué antes, había que convertirlo a string así: “txt_id.Text = objproceso.id.ToString”. Tan simple como eso. Así el valor que recibe la capa lógica será un string que en dicha capa será reconvertido luego a Int y después procesado en la base de datos correctamente.

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

    Hola y si fuera en el caso de hacer eso en un datagridview por ejemplo ingreso un nombre en la caja de texto y me muestre los datos en el datagridview usando capas

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

    hola a todos, le felicito
    Pichler Tutos 7 . Tengo una pregunta ¿cómo establezco el formulario de inicio?

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

      debe haber un archivo llamado config.css en este esta el nombre del formulario, en esta parte se puede actualizar por el que desees

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

    Estoy trabajando en un proyecto de inscripcion de asignatura ....teniendo una tabla alumnos,facultad,carrera, asignatura y inscribir asignatura....el formulario solo me pide poner DNI, CARRERA Y ASIGNATURA ambas en un combobox ...la verdd estoy un poco cnfundido esty trabajando con 3 capas en c#

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

    No explico el procedimiento almacenado de cargar combo

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

    cual es el primer video de este tutorial ?

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

      ruclips.net/video/tFpaIskcWd0/видео.html

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

    No me funciona el link

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

      A mi tampoco, es de hace 2 años

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

      @@mrchmejia Ya lo resolví bro, lo monte todo en webform por si ocupas algo ahí me avisas

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

      @@jefersonchinchillasegura2937 Gracias

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

      Link Actualizado

  • @RoDo-zv4uv
    @RoDo-zv4uv 5 лет назад

    Tengo una duda, no se si me falte algun using o una referencia para lo que es el .SelectedIndex

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

      hola, creo que te falta la variable de tipo DataTable que use en la capa lógica - procesos, puede que por eso te salga algún error. Lo otro es que SelectedIndex acepta variables tipo Int puede que te falte un una conversión, o explícame mejor tu error para sacar conclusiones colega. Un saludo.

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

    Tengo una duda

  • @RoDo-zv4uv
    @RoDo-zv4uv 5 лет назад

    Tengo un error para cargar el combo

    • @RoDo-zv4uv
      @RoDo-zv4uv 5 лет назад

      Es en la parte del da.Fill dice que lo tengo que llenar antes pero todo está igual al tuyo

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

      @@RoDo-zv4uv escribeme por mi pagina de facebook, me envias captures de los procesos yo verifico para saber que ocure

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

      @@RoDo-zv4uv Lo lograste?

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

    Hola amigo