• Jueves 23 de Mayo de 2024, 09:49

Autor Tema:  One To Many En C#  (Leído 1722 veces)

sesionremota

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
One To Many En C#
« en: Miércoles 16 de Enero de 2008, 23:32 »
0
hola gente
Para empezar soy nuevo y llegue al punto que kiero hacer un simple insert de dos tablas relacionadas "UNO A MUCHOS"

la idea es que tengo una tabla direcciones que tiene el campo ID_DIRE la cual es la pk y tengo la tabla personas la cual tiene como PK ID_PERSO y la FK es ID_DIRE, la cual hace la relacion con la tabla direcciones

las pk son autonumerico, estoy probando con access, aqui no puedo usar procedimientos almacenados ni trigger y todas esas cosas de las base de datos.


el codigo es el siguiente


using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OleDb;



namespace WindowsApplication1
{
    class Conexion
    {
        private OleDbConnection conn;
       
        public Conexion ()
        {
            this.conn = new OleDbConnection("provider = microsoft.jet.oledb.4.0;data source = prueba.mdb;");
            conn.Open();
               
        }

        public void insertarDireccion(Direccion direccion, Persona persona)
        {
           
           
            OleDbCommand  sql = conn.CreateCommand ();
            sql.CommandText = "SELECT  id_direcciones, ciudad_direcciones FROM direcciones;";
            OleDbDataAdapter da = new OleDbDataAdapter();
            da.SelectCommand = sql;
            OleDbCommandBuilder crear = new OleDbCommandBuilder(da);
            DataSet data = new DataSet();
            da.Fill(data);
            DataRow fila = data.Tables[0].NewRow();
            fila["ciudad_direcciones"] = direccion.Ciudad;
            //fila["nombre_personas"] = persona.Nombre;
            //fila["apellido_personas"] = persona.Apellido ;
            data.Tables[0].Rows.Add(fila);
            da.Update(data);
 
       
       
        }
         
    }
}

tambien tengo la clase del form donde igualo los setter con los textbox y ahi voy ingresando, por lo tanto tambien tengo la clase persona y direccion con sus respectivos set y get..

tambien quiero saber si esta es la forma correcta, esta es la programacion por capas? asi es la orientacion a objetos, o por lo menos la idea que trato de hacer, se que me falta mucho XD.


el asunto es que al insertar los datos de la persona, quiero que el id de la direccion tambien se inserte en la tabla personas para que quede como FK..

en realidad no se si voy por el buen camino, he visto unos ejemplos de dataRelations, unos mapeos, pero no se cual es la mejor manera en un caso asi, y no se que usar en .net, ya que en java estaba acostumbrado a usar hibernate y la vida era muy facil =D xD, pero aca esta el ado.net, bueno la verdad que estoy muy confundido... se me olvidaba, por que en java usaba listas e insertabas los id, bueno en fin espero que me puedan decir que soluciones son buenas que sean orientadas a objetos


ojala me puedan dar sugerencias, codigos de ejemplo, guiar un poco este tema, ya que en internet no hay mucho donde buscar acerca de las relaciones, siempre lo hacen con una tabla, :S


de antemano les agradezco,

Y POR FAVOR QUE ESTE SEA UN TEMA MAS COMUN SIEMPRE VEO PREGUNTAS PERO NO RESPUESTAS, ES COMO SI LA GENTE NO INSERTARA XD

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: One To Many En C#
« Respuesta #1 en: Miércoles 16 de Enero de 2008, 23:48 »
0
la gran mayoría los veo con respuesta...
ademas contestar no es obligación... a nadie le pagan por esto.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Re: One To Many En C#
« Respuesta #2 en: Jueves 17 de Enero de 2008, 00:03 »
0
:whistling:  :whistling:

 :smartass:
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa



JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: One To Many En C#
« Respuesta #3 en: Jueves 17 de Enero de 2008, 14:16 »
0
Código: Text
  1. tambien quiero saber si esta es la forma correcta, esta es la programacion por capas? asi es la orientacion a objetos, o por lo menos la idea que trato de hacer, se que me falta mucho XD.
  2.  
  3.  

Pues orientado a objetos...mucho mucho no esta porque de hecho la clase se llama conexión y por dentro tiene un método insertarDireccion... me pregunto si la clase se llama conexión.. que tiene que ver el hecho de insertar?

Por capas?
no se, por el momento se ve una unica capa la de manejo de datos o logica del negocio... no se si ya tengas las otras.

Citar
en realidad no se si voy por el buen camino,

pareciera que si , pero aun es muy temprano para decirlo.


en internet si hay cientos de ejemplos al respecto.

si tienes alguna duda mas puntual solo haslo saber.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

sesionremota

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: One To Many En C#
« Respuesta #4 en: Viernes 18 de Enero de 2008, 01:07 »
0
gracias por responder