Foros del Web » Programación para mayores de 30 ;) » .NET »

asignar el valor de un campo al de otra tabla

Estas en el tema de asignar el valor de un campo al de otra tabla en el foro de .NET en Foros del Web. Hola, Seguro que es algo muy sencillo pero llevo 3 días rompiendome la cabeza. Estoy haciendo un formulario con BindingNavigator, en el que hay datos ...
  #1 (permalink)  
Antiguo 29/05/2006, 07:53
 
Fecha de Ingreso: mayo-2006
Mensajes: 12
Antigüedad: 18 años
Puntos: 0
asignar el valor de un campo al de otra tabla

Hola,

Seguro que es algo muy sencillo pero llevo 3 días rompiendome la cabeza.

Estoy haciendo un formulario con BindingNavigator, en el que hay datos de dos tablas distintas, y el problema que tengo es que quiero asociar varios campos de esas dos tablas al crear un nuevo registro. Por ejemplo, Nombre, apellidos y customers_id debe ser el mismo en las 2 tablas antes de hacer update: el de customers_id lo he solucionado al generar el nuevo row de la tabla2 con esto:

Código:
       private void bindingNavigatorAddNewItem_Click_1(object sender, EventArgs e)
        {
            // Crear un nuevo registro
            DataRow draddress_book = dataSetNuevoCliente1.address_book.NewRow();
            // Asignar los datos de los textbox a la fila
            asignarDatosAddress_book(draddress_book);
            // Añadir la nueva fila a la tabla
            dataSetNuevoCliente1.address_book.Rows.Add(draddress_book);
            // Posiciona el índice en la columna añadida.
            this.address_bookBindingSource.Position = this.address_bookBindingSource.Count - 1;
        }

        private void asignarDatosAddress_book(DataRow draddress_book)
        {
            //Asigna los datos por defecto para datos que no se rellenan.
            draddress_book["customers_id"] = customers_idTextBox.Text;
        }
Pero claro, esto no me sirve para Nombre y apellidos, ya que hay que rellenarlos una vez creada la nueva fila. Ademas que tengo que asociar también un campo de la tabla 1, con otro de la tabla 2 que es auto increment, es decir, que necesito el comando para cambiarlo una vez creadas las 2 nuevas filas.

He intentado combinaciones tipo:
Código:
customers_default_address_idTextBox = address_book_idTextBox;
Pero ninguna me funciona, no muestra el valor del otro campo. Tambien lo he intntado asociando campos en el diseñador de dataset, pero sin resulatos.

Gracias por la ayuda.
  #2 (permalink)  
Antiguo 29/05/2006, 13:32
 
Fecha de Ingreso: mayo-2006
Mensajes: 12
Antigüedad: 18 años
Puntos: 0
Bueno, ya he averiguado como asignar el valor. Pero lo que no se es como encontrar la fila adecuada:

Código:
           DataRow[] customerRow = dataSetNuevoCliente1.Tables["address_book"].Select("customers_id = '131'");
            customerRow[0]["entry_firstname"] = customers_firstnameTextBox.Text;
            customerRow[0]["entry_lastname"] = customers_lastnameTextBox.Text;
¿Alguien puede decirme como puedo hacer para que vaya a la última fila creada?. Si cambio el '131' por una variable me dice que no ha encontrado esa columna. Y claro, no se el valor de la columna customers_id hasta que la creo, ya que es el indice y es autoincrement.

Gracias de nuevo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:50.