Bueno, pues aquí vuelvo con otra duda sobre programación. Y aprovechando que en la otra ocasión el maestro Findor me presto una inestimable ayuda, me lanzo con una nueva pregunta.
La duda se centra en el objeto DataTable del ADO .NET. En mi forma de trabajar no suelo usar DataSet, solo DataTable. No se si esto puede repercutir en algo negativo a la aplicación, pero normalmente es mi forma de trabajar.
El caso es que en la capa de acceso a datos de la aplicación, creo una DataTable y la "lleno" desde el DataAdapter. Hasta ahora creía que mi variable (pongamosle dataT) que almacenaba el DataTable creado, en cada consulta que hacía se reestablecia por completo.
Por ello he modificado mi código para asignar el nombre de la variable dataT según la necesidad de crear uno o varios hilos de consulta distintos.
Pero cual ha sido mi sorpresa que haciendo pruebas con el código antiguo, el que solo establece una DataTable, si yo establecía el dataT a mi tabla1 en el formulario1 y luego establecía el dataT a mi tabla2 en el formulario2. Llamando a dataT desde el formulario1 me seguía mostrando los datos de la tabla1, lo mismo que si llamaba al dataT desde el formulario2 mostraba los datos de la tabla2. Incluso haciendo un dataT.clear(); desde el formulario2, en el formulario1 seguía teniendo mis datos .
Vamos que a simple vista no parece hacer falta crear un DataTable para cada hilo de consulta.
Ahora me surgen las dudas. Principalmente se resume en una ¿Por qué pasa eso?
Yo pensaba que al volver a establecer la variable dataT y entregarle nuevos valores, pasaba como con cualquier variable, perdía los antiguos y cogía los nuevos.
¿Acaso el DataTable guarda un compendio de todas las tablas que abro? Pero ¿como sabe a cual me dirijo en cada formulario si en todos lo reclamo como dataT?
Si pudierais facilitarme información de por qué ocurre esto, o alguna pagina donde explique este comportamiento... Os lo agradecería un montón. Ya que ahora mismo no tengo claro cual sería la mejor manera de crear la capa de acceso a datos. Generando un DataTable para cada hilo, o un único para todas mis consultas.
La duda se centra en el objeto DataTable del ADO .NET. En mi forma de trabajar no suelo usar DataSet, solo DataTable. No se si esto puede repercutir en algo negativo a la aplicación, pero normalmente es mi forma de trabajar.
El caso es que en la capa de acceso a datos de la aplicación, creo una DataTable y la "lleno" desde el DataAdapter. Hasta ahora creía que mi variable (pongamosle dataT) que almacenaba el DataTable creado, en cada consulta que hacía se reestablecia por completo.
Por ello he modificado mi código para asignar el nombre de la variable dataT según la necesidad de crear uno o varios hilos de consulta distintos.
Pero cual ha sido mi sorpresa que haciendo pruebas con el código antiguo, el que solo establece una DataTable, si yo establecía el dataT a mi tabla1 en el formulario1 y luego establecía el dataT a mi tabla2 en el formulario2. Llamando a dataT desde el formulario1 me seguía mostrando los datos de la tabla1, lo mismo que si llamaba al dataT desde el formulario2 mostraba los datos de la tabla2. Incluso haciendo un dataT.clear(); desde el formulario2, en el formulario1 seguía teniendo mis datos .
Vamos que a simple vista no parece hacer falta crear un DataTable para cada hilo de consulta.
Ahora me surgen las dudas. Principalmente se resume en una ¿Por qué pasa eso?
Yo pensaba que al volver a establecer la variable dataT y entregarle nuevos valores, pasaba como con cualquier variable, perdía los antiguos y cogía los nuevos.
¿Acaso el DataTable guarda un compendio de todas las tablas que abro? Pero ¿como sabe a cual me dirijo en cada formulario si en todos lo reclamo como dataT?
Si pudierais facilitarme información de por qué ocurre esto, o alguna pagina donde explique este comportamiento... Os lo agradecería un montón. Ya que ahora mismo no tengo claro cual sería la mejor manera de crear la capa de acceso a datos. Generando un DataTable para cada hilo, o un único para todas mis consultas.