none
Ayuda con DataGridView!! RRS feed

  • Pregunta

  • Hola a todos, primero q todo soy nuevo aqui!!
     
    Les cuento, estoy desarrollando un sistema de inventarios y con algo de contabilidad (para efectos de reportes) y me tiene algo pensativo, ya que se manejan cuentas por cobrar q son las ventas al crédito en este caso.

    Trabajo con una compañera y trabajamos en VB .NET 2005, bases de datos en SQL 2000 y con una conexion OLEDB, que me parece super excelente ya que no es tan complicada.

    todavia no he llegado a las cuentas por cobrar(estado de cuentas se llama la forma) pero la idea es la siguiente, cuando se realize una venta al crédito, me habra la forma de estado de cuentas, y me muestre las cuentas, pero que cuando valla a realizar un pago a esa cuenta, me llene primero las anteriores y escriba en la ultima columna. Que debo hacer para guardar el ultimo registro??? ya que los anteriores ya han sido guardados en la tabla.

    Todas las opiniones serán muy bien recibidas! gracias! Saludos desd Honduras
    martes, 29 de septiembre de 2009 14:52

Respuestas

  • hola

    Con respecto a los providers de base de datos te consejarias que hagas uso de las implementaciones que se proceen para cada base especifica, se supone que estas estas adaptadas para obtener la máxima performance de la db

    O sea si la db es Sql Server usa los provides de sql: SqlConnection, SqlCommand, etc
    si la db es Ms Access utilizali los de OleDb: OledbConnection, oleDbCommand, etc

    Veo que mencionas adodb, ten en cuenta que es hace referencia a las librerias que se utilizaban en VB6, no te recomiendo que als utilices salvo que estés migrando una aplicacion de vb6 a vb.net, que bueno por compatibilidad permite poder utilizarse.


    Aqui hay una muy buena comparacion entre ado y ado.net

    En resumen utiliza los providers de ado.net

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    domingo, 4 de octubre de 2009 19:41

Todas las respuestas

  • Hola amigo, muy interesante tu escenario.

    Practicamente quiere desarrollando un modulo para aplicar documento?

    Si puede presenta un ejemplo o screenshot con el resumen de tu escenario.

    cualquier cosa me avisa!


    saludos.
    Developer .NET
    martes, 29 de septiembre de 2009 15:02
  • cheke! si es q todavia no he llegao allí y el estado de cuentas hacerlo con un grid es lo que busco (estilo YODA) jaja, pero en cuanto lo trabaje, que es pronto, lo ingreso aqui!

    gracias por la respuesta
    martes, 29 de septiembre de 2009 15:05
  • hola

    Primero puedo recomendarte que no utilices el provider de OleDb cuando trabajes con Sql Server, no porque no se pueda, sino porque cada proveder esta optimizado para la db especifica.
    Es mas si trabajarias con Oracle deberias usar el driver para ese proveedor, simpre se obtienen las mejores performance de acceso ya que esta tuneado para ese motor en particular.


    Ahora bien sino entendi mal lo que queires hacer es tener varios formularios anidados que iran completando la transaccion, y necesitas que el padre se guarde primero y luego la info que compone el hijo ?

    - si es asi podrias primeramente guardar la info del form padre antes de mostrar el form hijo

    - otra alternativa es hacer uso de concepto de Managers, o sea clases que van amnteniendo la info a nivel global en este caso la del formulario padre y la del hijo, para asi al momento de guardar operas directo con esta clase y te abstraes de que formulario te encuentras. Esto se usa bastante en aplicaciones asp.net, en dodne tienes wizards y necesitas avanzar y retroceder por los tabs colectando informacion para al final ejecutarla toda junta.

    En tu caso ese Manager que no tiene mucha ciancia es solo una clase, que podra implementar e patron Singleton y mantendra la info que el usuario cargue en el formulario padre y cuado se abra en el formulario hijo.

    bueno espero se haya entendido la explicacion.
    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    martes, 29 de septiembre de 2009 15:28
  • no precisamente! lo unico es que cuando se realize una venta al crédito me abra la forma de estados de cuenta, que también va a estar disponible en el menú. En la BD existen 2 tablas para las cuentas por cobrar, ya que una es el encabezado y la otra es el detalle. Mi problema es que al cargar la otra forma se carguen los datos(si es que hay) para luego si se quiere abonar a la cuenta, se pueda reflejar el saldo y todo eso. Aunq te diré que tus aportes me parecen bastante interesantes.

    Te cuento, todavia soy estudiante, Gracias a Dios casi ya para graduarme pasando las clases que llevo, solo me quedan 2 y luego voy a práctica y en lo que respecta a Singleton y Manager, no tengo mucha experiencia, entiendo tu lógica aunq te soy sincero no tengo muchas ideas de como poder hacerlo, apreciaría si tuvieras algun tutorial o alguna ayuda externa. Muchas gracias por los consejos, se ve q le entiendes. Ciao!
    martes, 29 de septiembre de 2009 21:55
  • hola

    bien me entra un poco en duda como es la interacciones de las pantallas, pero mas alla de eso puedo comentarte acerca del patron singleton que seriria en este caso para poder mantener informacion entre pantallas, o sea comunicarlas.

    Para ello revisa este otro post: Patrones de Diseño
    alli encontraras info sobre patrones y ademas sobre singleton

    Igualmente una implemetnacion rapida podrias ser ad eesta forma:

    public class SharedData

    {

     

    private static SharedData oInstance;

    private List<Cliente> clientes;

     

    protected SharedData()

    {

    }

     

    public static SharedData Instance()

    {

     

      if (oInstance == null)

     oInstance = new SharedData();

     

      return oInstance;

     

    }

     

    public string Nombre {get; set;}

    public selectedItems {get; set;}

     

    public List<Cliente> Clientes

    {

    get

    {

    if(cliente = null)

    cliente = new List<Clientes>();

    return clientes;

    }

    }

     

    }


    solo a modo de ejemplo.

    El Manager en realidad seria una especie de Singleton algo mas básico utilizando variable estáticas, en realidad yo lo uso mas que nada en aplicaciones web en donde básicamente lo que hace es servir de wrapper, o sea una envoltura al objeto Session. 



    Ademas como veo que tendras una interesante comunicacion entre formulario te aconsejaria le des una mirada a este link:


    saludos



    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 30 de septiembre de 2009 2:30
  • wow! muy interesante la ayuda q me acabas de brindar, cuando tnga el codigo de lo que te he dicho, lo postearé para que lo chekees!... Todavía no he revisado los links, ya lo voy a hacer! muchas gracias por la ayuda, Dios te bendiga!.

    Con respecto al provider que me mencionaste, ¿cuál me recomiendas para la conexion a la base de datos?, la verdad no soy buen fan de la adodb por lo tediosa que es, y tampoco me gustan las conexiones automaticas, no se porq! jaja!. Cualquier consejo es muy bien recibido.

    Saludos
    domingo, 4 de octubre de 2009 18:12
  • hola

    Con respecto a los providers de base de datos te consejarias que hagas uso de las implementaciones que se proceen para cada base especifica, se supone que estas estas adaptadas para obtener la máxima performance de la db

    O sea si la db es Sql Server usa los provides de sql: SqlConnection, SqlCommand, etc
    si la db es Ms Access utilizali los de OleDb: OledbConnection, oleDbCommand, etc

    Veo que mencionas adodb, ten en cuenta que es hace referencia a las librerias que se utilizaban en VB6, no te recomiendo que als utilices salvo que estés migrando una aplicacion de vb6 a vb.net, que bueno por compatibilidad permite poder utilizarse.


    Aqui hay una muy buena comparacion entre ado y ado.net

    En resumen utiliza los providers de ado.net

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    domingo, 4 de octubre de 2009 19:41
  • Hola!

    pues gracias por los consejos, tenía ciertas confusiones acerca del concepto de la conexión, creo q al mencionar adodb taba comprendiendo para .NET pero fue error mío el no haber sido mas específico, aunque también había malentendido ciertos conceptos jeje :)

    De nuevo te agradezco y trataré de implementar los providers propiamente de SQL. Una pregunta! a la hora de hacer el ejecutable, bueno hay muchas maneras de implementarlo. entiendo que con el Visual Studio, el mismo asistente va "jalando" o "extrayendo"  todo lo necesario, salvo que quieras hacerlo en un programa por aparte. Tengo ciertas dudas para las referencias de SQL, tiene que instalarse el server en la maquina dond va a funcionar, (pero no todo verdad?) eso es lo que entiendo. Trabajaré con los providers y luego te cuento que tal me fue!

    Gracias, Dios te bendiga!.
    domingo, 4 de octubre de 2009 20:28