![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Perdón; tenéis razón:
Así está puesto en el programa. CodPrv es un entero sin signo y está bien definido (en este caso el valor es 45 porque es el código de Toledo) y Query es un TIBQuery asociado a la base de datos Firebird, lógicamente. |
|
#2
|
||||
|
||||
|
Explico el proceso completo. Este query lo uso para generar unos listados y la consulta depende de las opciones que elige el usuario, pero la SELECT es la misma en todos los casos. Esa tabla Auxiliar la uso para guardar los valores que se escogen en el formulario (por ejemplo el código de población) y monto esto:
Código:
Query->Close();
Query->SQL->Text = "SELECT * FROM Ls01 A";
qAuxil->Close();
qAuxil->SQL->Text = "SELECT DISTINCT Tipo FROM Auxiliar WHERE Usuario = :Usuario";
qAuxil->ParamByName("Usuario")->AsString = NombreUser;
qAuxil->Open();
for (; !qAuxil->Eof; qAuxil->Next())
Query->SQL->Text = Query->SQL->Text + ", Auxiliar " + CHAR(65 + fPersonas->qAuxil->FieldByName("Tipo")->AsInteger);
Código:
SELECT * FROM Ls01 A, Auxiliar B, Auxiliar C WHERE A.CodPrv= :CodPrv AND B.Tipo = 1 AND B.Usuario = :Usuario AND A.Profesion = B.Valor AND C.Tipo = 2 AND C.Usuario = :Usuario AND A.Junta = C.Valor |
|
#3
|
||||
|
||||
|
Creo que no se entiende lo que explicas, Angel.Matilla.
Por lógica, si tienes un select que unas veces trae unos datos y otras veces trae otros datos distintos, tan sólo tienes varias posibilidades: - que no sea el mismo select - que sea el mismo select, pero los parámetros sean distintos - que sea el mismo select, y lo ejecutes en bases de datos distintas No puede haber más opciones, o sea, no puedes ejecutar un select con unos parámetros en una misma base de datos y que te devuelva datos distintos. Lógicamente. Deberías detener el programa justo antes de lanzar el query y mirar la sentencia completa en ambos casos, para ver si está formada correctamente. La otra opción es que nos pases la BD y probemos nosotros ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#4
|
||||
|
||||
|
Gracias prola respuesta Casimiro.
Lo que he puesto es el código de cómo monto el query. Cita:
No tengo inconveniente en pasarte el programa (está hecho en Builder 5) y la base de datos; dime como y dónde. |
|
#5
|
||||
|
||||
|
Añado más cosas. Perdonad que lo haga así, pero según voy haciendo pruebas lo pngo. He probado a montar el código de otra manera.
Ejecuto un bucle para leer los datos de Auxiliar del tipo 1: AnsiString cAux = ""; Código:
Query->Close();
Query->SQL->Text = "SELECT Valor FROM Auxiliar WHERE Tipo = 1 AND Usuario = :Usuario";
Query->ParamByName("Usuario")->AsString = NombreUser;
Query->Open();
for (; !Query->Eof; Query->Next())
cAux = cAux + FormatFloat("0', '", Query->FieldByName("Valor")->AsInteger);
cAux = cAux.SubString(1, cAux.LastDelimiter(",") - 1);
Cita:
Código:
Query->Close();
Query->SQL->Text = "SELECT * FROM Ls01 WHERE CodPrv = :CodPrv AND Junta IN (" + cAux + ") ORDER BY Apellidos, Nombre";
Query->ParamByName("CodPrv")->AsInteger = nCodPrv;
Query->Open();
|
|
#6
|
||||
|
||||
|
Hombre, yo aseguraría que el problema, como ya dije antes, es que no creas el mismo select o los mismos parámetros. Es pura lógica.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#7
|
||||
|
||||
|
Puedo garantizar que es el mismo query (parando la ejecución del prograna JUSTO antes del Open() y copiando el contenido del SQL->Text) y la misma base de datos (no hay otra en Firebird en ese disco).
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Query MySQL: ¿Por qué no funciona? | Angel.Matilla | MySQL | 4 | 27-06-2012 13:08:03 |
| Query Access no funciona con ADO | Delfino | Conexión con bases de datos | 6 | 15-06-2007 11:05:44 |
| Quiero liberar my query para usar el mismo varias veces | zcatzz | Conexión con bases de datos | 7 | 27-01-2007 23:39:45 |
| Componente Pdf (PdfLib_TLB) a veces no funciona | fidel | OOP | 1 | 06-06-2006 14:45:46 |
| autorefresh no funciona en query y dbgrid | ilichhernandez | Conexión con bases de datos | 6 | 08-11-2005 19:32:00 |
|