Delphi - ADOQuery

   
Vista:

ADOQuery

Publicado por Ragaru (33 intervenciones) el 04/01/2013 11:48:38
En un programa se incorpora una Tabla con ADODataSet1 que existe en una Base de Datos creada
com Microsoft SQL server 2000. La Tabla tiene Registros irrepetibles de numeros.
Para conocer cuantas veces aparece el mismo número en cualquiera de las seis columnas que
tiene la Tabla, hago una consulta con ADOQuery1 que tiene el siguiente Strings:
Select Fecha, A1,A2,A3,A4,A5,A6 Where A1=:N1 or A2=:N2 or A3=:N3 or A4=:N4 or A5=:N5 or A6=:N6
Order By Fecha.
Antes de lanzar el ADOQuery2 con ADOQuery2.Parameters.ParamByName('N1') := StrToInt(Edit1.Text);
hastta N6 se cargan todos los Parametros con el contenido de Edit1 que es el numero que se
pretende buscar en cualquier posición de la Tabla.
La Tabla se ejecuta y se ve en el correspondiete DBGrid1 asociado con el ADOQuery2, PERO para
mi gran e inexplicable sorpresa cada Registro aparece DOS VECES aunque en la Tabla original
solo está una vez.

Estoy hecho un lio y no acierto a encontrar una explicación para esta duplicidad de registros.Asi
que si alguién tiene la amabilidad de explicar por qué se produce esta anomalía y forma de evitarla
mi agradecimiento será eterno.

Gracias de nuevo por la ayuda que el Foro presta a todos los que hacemos consultas.

Atentos saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder

ADOQuery

Publicado por E.T. (1108 intervenciones) el 04/01/2013 17:27:10
Puede ser algun misterio de sql server, pues yo hice una consulta similar en firebird y solo me da un registro, intenta usar un distinct, no se si sea lo mismo en sql server, es una instruccion que elimina los registros duplicados

select distinct campos from tabla
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

ADOQuery

Publicado por Ragaru (33 intervenciones) el 05/01/2013 14:06:11
Sr.E.T. : Muchas gracias por su solución a mi problema. Como de costumbre la solución que ha propuesto funciona perfectamente.
Aprovecho la oportunidad para desearle toda clase de venturas en este año. Deseo que hago
extensivo a todos los amigos de este Foro que tantos problemas nos solucionais y, a los que
hacemos consultas.
Feliz año 2.013 para todos.
Cordiales saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar