Las líneas que abajo pongo funcionan bién en sql server 2000, pero cuando les tiro con un adoquery me da el error
commandtext does not return result set
Código SQL
[-]
DECLARE @mi_tabla TABLE ( NumeroRegistro int, NumeroVehiculo nchar(5), NumeroMatricula varchar(15), RFID_Salida datetime, RFID_Entrada datetime, Serv_Ano_Creacion smallint, Serv_Codigo int, Serv_Linea int, Serv_Conductor char(5) )
INSERT INTO @mi_tabla
SELECT a.NumeroRegistro, a.NumeroVehiculo, a.NumeroMatricula,
(
SELECT TOP 1 z.CUANDO
FROM Murcia.dbo.tbl_RFID_Movimientos as z
WHERE z.ANTENA LIKE '%Ant0%'
AND z.id_Vehiculo = a.NumeroRegistro
AND z.CUANDO >= '07/02/2014 0:00:00'
AND z.CUANDO <= '07/02/2014 23:59:59'
ORDER BY z.id_Vehiculo ASC, z.CUANDO DESC
) AS RFID_Salida,
(
SELECT TOP 1 z.CUANDO
FROM Murcia.dbo.tbl_RFID_Movimientos as z
WHERE z.ANTENA LIKE '%Ant1%'
AND z.id_Vehiculo = a.NumeroRegistro
AND z.CUANDO >= '07/02/2014 0:00:00'
AND z.CUANDO <= '07/02/2014 23:59:59'
ORDER BY z.id_Vehiculo ASC, z.CUANDO DESC
) AS RFID_Entrada,
(
SELECT TOP 1 Ano_Creacion FROM [Murcia].[dbo].[tbl_Servicios_Montaje]
WHERE [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Inicio] <= '07/02/2014 14:17:51' AND [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Final] >= '07/02/2014 14:17:51'
AND [Murcia].[dbo].[tbl_Servicios_Montaje].[Vehiculo] = a.NumeroVehiculo
AND [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Baja] IS NULL
ORDER BY [Murcia].[dbo].[tbl_Servicios_Montaje].[Vehiculo], [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Inicio], [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Final]
) as Serv_Ano_Creacion,
(
SELECT TOP 1 Codigo FROM [Murcia].[dbo].[tbl_Servicios_Montaje]
WHERE [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Inicio] <= '07/02/2014 14:17:51' AND [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Final] >= '07/02/2014 14:17:51'
AND [Murcia].[dbo].[tbl_Servicios_Montaje].[Vehiculo] = a.NumeroVehiculo
AND [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Baja] IS NULL
ORDER BY [Murcia].[dbo].[tbl_Servicios_Montaje].[Vehiculo], [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Inicio], [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Final]
) as Serv_Codigo,
(
SELECT TOP 1 Linea FROM [Murcia].[dbo].[tbl_Servicios_Montaje]
WHERE [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Inicio] <= '07/02/2014 14:17:51' AND [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Final] >= '07/02/2014 14:17:51'
AND [Murcia].[dbo].[tbl_Servicios_Montaje].[Vehiculo] = a.NumeroVehiculo
AND [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Baja] IS NULL
ORDER BY [Murcia].[dbo].[tbl_Servicios_Montaje].[Vehiculo], [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Inicio], [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Final]
) as Serv_Linea,
(
SELECT TOP 1 Conductor FROM [Murcia].[dbo].[tbl_Servicios_Montaje]
WHERE [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Inicio] <= '07/02/2014 14:17:51' AND [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Final] >= '07/02/2014 14:17:51'
AND [Murcia].[dbo].[tbl_Servicios_Montaje].[Vehiculo] = a.NumeroVehiculo
AND [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Baja] IS NULL
ORDER BY [Murcia].[dbo].[tbl_Servicios_Montaje].[Vehiculo], [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Inicio], [Murcia].[dbo].[tbl_Servicios_Montaje].[Fecha_Hora_Final]
) as Serv_Conductor
FROM [SocGer].[dbo].[tbl_Vehiculos] as a
WHERE a.[Fecha_Baja] IS NULL
AND a.[Empresa_Colaboradora] IS NULL
ORDER BY a.NumeroVehiculo ASC
SELECT s.Descripcion, x.* FROM @mi_tabla as x LEFT JOIN [Murcia].[dbo].[tbl_Servicios] as s ON x.Serv_Ano_Creacion = s.Ano_Creacion AND x.Serv_Codigo = s.Codigo WHERE x.RFID_Entrada > x.RFID_Salida OR x.RFID_Entrada = x.RFID_Salida OR ( x.RFID_Entrada IS NULL AND x.RFID_Salida IS NULL )
ORDER BY x.NumeroVehiculo ASC
El código en Delphi es sencillo
Código Delphi
[-]
ado_Qry_Vehiculos_en_Base.Sql.Clear;
ado_Qry_Vehiculos_en_Base.Sql.Add( ... una copia exacta de las líneas de arriba sql server ...);
ado_Con_Vehiculos_en_Base.Connected := True;
ado_Qry_Vehiculos_en_Base.ExecSQL;
ado_Qry_Vehiculos_en_Base.Active := True;
Al pasar hacer el open del adoQuery me genera el error commandtext does not return result set
Así que si alguien supiera decirme en que estoy fallando se lo agradecería eternamente.
Saludos