none
Guardar datos de gridview y textbox en BD RRS feed

  • Pregunta

  • Hola a todos

    Estoy utilizando Visual Basic 2008 y SQL Express 2008 y tengo lo siguiente: En la base de datos tengo una tabla con varias columnas para guardar la información de una factura algo así como esto:

    ID_ARTICULO, NOMBRE_ARTICULO, DESCRIPCION_ARTICULO, PRECIO

    Por diseño el ID_ARTICULO lo tengo en un textbox y lo demás en un GridView y tengo un botón que dice FACTURAR para que cuando lo presione mande los datos a guardar a la BD, pero mi pregunta es si en el GridView que lleva las columnas NOMBRE_ARTICULO, DESCRIPCION_ARTICULO Y PRECIO lleva mas de una linea digamos unas 10 y resulta que es el mismo pedido como hago para guardar todo en la base datos.

    Si lo hago con una sola linea no tengo problema porque va un solo ID, NOMBRE, DESCRIPCION y PRECIO, pero cuando un ID lleva varios nombres, descripción y Precio no lo puedo guardar. Como debería de estar creada la tabla en la BD con el tipo de datos y su tamaño? y la otra como le hago para que desde el botón Factura mande en un solo registro a guardar con un solo ID que sería el número de factura con varias lineas de producto?

    Ojalá me dé a entender a ver si me ayudan con la inquietud.

    Saludos

    • Cambiado Enrique M. Montejo martes, 31 de mayo de 2011 6:02 acceso a datos (De:Lenguaje VB.NET)
    lunes, 27 de julio de 2009 18:52

Todas las respuestas

  • Hola Host1, creo que deberias empezar revisando el diseño de tu base de datos, yo haría una tabla "Encabezado" y otra "Detalle" para guardar la información de las facturas. Estas tendrían relación uno a muchos (|Encabezado| ---< |Detalle|)  Donde por ejemplo los atributos de las tablas serían:

    Encabezado
    IdFactura (PK)
    Fecha
    IdCliente (o Nombre)
    Monto
     
    Detalle
    Id (PK)
    IdFactura (FK)
    IdArticulo (FK)
    Cantidad
    ...

    Entonces cuando des de alta una nueva factura deberas crear un nuevo registro de la tabla encabezado y los registros que sean necesarios de la tabla detalle (uno por cada linea de la factura)

    Cuando quieras consultar una factura, deberás consultar los datos del encabezado por un lado y en un DataGridView puedes cargar los renglones de la misma filtrando por IdFactura.

    Espero que te haya aclarado un poco el panorama mi respuesta.  Saludos!

    Ariel.-
    Ariel Cabezas
    martes, 28 de julio de 2009 7:37