Ver Mensaje Individual
  #1  
Antiguo 20-12-2011
mizzard mizzard is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 100
Reputación: 14
mizzard Va por buen camino
Problemas visualizacion info en red usando ADOQuery

Hola, os comento mi problema (un tanto curioso).

Resulta que dispongo de una aplicación que la ubico en una carpeta de red en la que diferentes usuarios tendrán acceso. Simplificando el asunto, digamos que mi aplicación accede a la base de datos de un segundo programa (comercial). El por qué de esto.... simplemente porque el programa comercial se queda cojo en ciertos aspectos y estoy ampliando funcionalidades :P


Como caso curioso he observado que cuando hago una consulta a una tabla del programa comercial y muestro la informacion en mi programa, cuando intento añadir informacion adicional desde el programa comercial en esa tabla (con mi programa visualizando esa tabla) el programa se queda colgado hasta que no hago otro query... no se si me explico, pongamos por caso este codigo:

Código:
	frmPrincipal->qryMostrarEntrada->Close();
	frmPrincipal->qryMostrarEntrada->SQL->Clear();
	strSQL = "SELECT *";
	strSQL = strSQL + " WHERE [CodFabricacion] = " + leerOF;
	frmPrincipal->qryMostrarEntrada->SQL->Add(strSQL);
	frmPrincipal->qryMostrarEntrada->Active = true;
En el cual muestro en mi programa la tabla de la base de datos del programa comercial.

Pongamos por caso que ahora deseo añadir una nueva informacion (seria dentro del * que aparece en el select) manteniendo mi programa abierto y es cuando el programa comercial se queda enganchado.

He observado que cuando pulso en otro boton de mi programa que contiene esta linea de codigo:

Código:
	frmPrincipal->qryMostrarClientes->Close();
	frmPrincipal->qryMostrarClientes->SQL->Clear();
	strSQL = "SELECT *";
	strSQL = strSQL + " WHERE [Codigo] LIKE '43000%' ORDER BY [Codigo]";
	frmPrincipal->qryMostrarClientes->SQL->Add(strSQL);
	frmPrincipal->qryMostrarClientes->Active = true;
que no tiene nada que ver con la informacion mostrada es cuando se desengancha.

He probado a realizar diferentes supuestos y efectivamente cuando hago una nueva consulta (da igual cual sea), es cuando el programa comercial funciona perfectamente aun estando abierto el mio.

Es por lo cual me surge la siguiente duda....

Debido a que el problema esta solucionado colocando el segundo fragmento de codigo que he puesto, pero que a lo que solucionar un problema entendiendo el por que, no me convence....

Sabeis el por qué se debe esto y como podria solucionarlo de una manera "mas profesional".


Muchas gracias a todos, en especial al interes mostrado en ecfisa y _cero_ que tanto me han ayudado en cuestiones previas y que hacen que este foro sea un lugar con una fuente de conocimiento muy amplia
Responder Con Cita