![]() |
accediendo al origen de datos Hola amigos, parece que le estoy cogiendo el gustillo a eso de los FOROS.. :-) La duda que se me plantea ahora es sobre la conexión al origen de datos (OdD). En mi aplicación trabajo con un DataSet que cargo con todas las tablas del OdD al inicio de todo y voy llamando periódicamente a lo largo de la aplicación para cargar los datos. El problema es cuando hay modificaciones (insert, update o delete). ¿Debo acceder con DataAdapters al OdD cada vez que modifico los datos del DataSet, o me puedo esperar y hacerlo al final de la aplicación? Supongo que por la pregunta que os hago a continuación eso parece evidente, pero en el caso de tener varios PC's conectados al mismo OdD, si resulta que el usuario no modifica ningun registro, como sé yo que los datos que contiene el DataSet se van actualizando? ¿Le pongo un Timer, o existe alguna función específica? Bueno, pues muchas gracias a todos y VIVA LOS FOROS!! :arriba: |
Si hay varios usuarios conectados al mismo origen de datos, efectivamente, no puedes esperar un tiempo para actualizar tus datos, porque el último cliente que actualizara sería el que conseguiría "mantener" sus datos y "machacaría" los de los demás. Yo lo que haría (aunque pierdes rendimiento) es actualizar en cada instante que almacenes un dato. Es decir, cuando modifiques una fila de un dataset, manda un update de esa fila a la base de datos. A mi no me gusta nada el dataAdapter. Hablan muy bien de él pero yo personalmente prefiero hacer consultas directamente, evaluando si debo hacer una inserción, o actualización. Espero haberte servido de ayuda. Saludos. |
merci por la respuesta dvelazquez :-) Cita:
Seguro que tiene que haber otra forma más EFECTIVA de hacerlo... |
Pues lo de refrescar los datasets sería una opción, pero no la más importante. Podrías evaluar si hay posibilidades o no de que varios usuarios modifiquen el mismo registro. No se si en el método de trabajo que tienen los usuarios se da ese caso o no, pero básicamente... son "cosas que pasan" Me explico, si tu vas a hacer por ejemplo, una gestión en tu numero de teléfono, el registro de tus datos que tiene tu compañia es accesible para todos los teleoperadores con los que tratas, pero la duda es... ¿Se va a acceder en más de una instancia a tus datos? Por eso te decía que actualices el origen de datos cada vez que modifiques un (solo uno) registro. Entonces tu solo "tocas" tu registro y no los demás. Si usas un dataadapter los tocarías todos, porque el dataadapter va a hacer tantos inserts o updates como registros hayas tocado tu de él. No se si te he ayudado algo o le he dado más vueltas al tema. También puedes refrescar los datos cada vez que cada usuario haga una operación de actualización/inserción o eliminado, y además facilitarles un botón "refrescar" para que ellos se "traigan" cuando quieran los datos actualizados. Saludos colega. |
Sí, está bien, pero no acabo de comprender la solución al problema. :no: Lo que tú me propones "está bien", entre comillas, pq eso de actualizar con el DataSet asociado a un Timer me parece bastante cutre. Y la otra opción de añadir el botón de "refrescar"... no se qué decirte. ¿Cómo les explico a los usuarios que deben pulsar un botón para recoger los datos reales del OdD? Pq puede que los datos que esten viendo no estén actualizados... COMORL!? Carai! tiene que haber algo más profesional! no me creo que los de Microsoft sean tan SIMPLES. :molesto: La otra idea de actualizar tan solo UN REGISTRO (p.ej. nº teléfono) por no tener que modificar los otros me parece acertada, pero quizás soy un rebuscado pero, pon por caso que 2 usuarios quieren modificar el MISMO registro en el MISMO instante. ¿Qué casualidad no? pues eso puede pasar. Estamos en lo mismo. Bueno, pues ya ves que aquí no nos conformamos... Gracias por tu tiempo de todas formas :arriba: |
Pues hombre lo de actualizar el mismo registro dos personas al mismo tiempo... no lo veo claro. Tu puedes llamar a la vez a una operadora dos veces para que te lo gestionen? Explicame un poco como va tu aplicación, qué hacen los usuarios, para ver si lo puedo comprender mejor. Saludos. |
No acabo de comprender eso: Cita:
Tienes razón, es complicado que ocurra pero no imposible. ¿O a lo mejor me estoy comiendo demasiado la cabeza? :neurotico podría ser... |
Yo creo que le estás dando muchas vueltas. Yo creo que es un caso complicado que ambos estén metiendo datos a la vez. Investiga a ver cual es la forma que tienen de trabajar, para evaluar si cabe esa posibilidad. Saludos colega. |
| La zona horaria es GMT -6. Ahora son las 23:32. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.