Java - ResultSet

   
Vista:

ResultSet

Publicado por Gerardo Gómez (2 intervenciones) el 18/05/2017 22:42:12
buen día a todos!!!
Quiero hacer una consulta en sql desde mi aplicacion java web, el problema es que me tira el siguiente error:
La instrucción no devolvió un conjunto de resultados., la consulta que quiero hacer es la siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
---Reporte de seguimiento a pronosticos
DECLARE @FchInicial as DateTime
SET @FchInicial=/* T0.DocDate= */ '20170301'
/* SELECT FROM dbo.OINV T1 */ 
DECLARE @FchFinal as DateTime
/* WHERE */
SET @FchFinal=/* T1.DocDate= */ GETDATE ()
 
DECLARE @Porcetaje AS NVARCHAR(2);
SET @Porcetaje = '%';
 
DECLARE @Tabla_Facturas AS TABLE
( Asesor nvarchar (50)
  , Meta_Mensual float
  , Margen_Promedio_Proyectado float
  , Utilidad_Bruta_Proyetada_Mensual float
  , Total float
  , Margen float
  , Utilidad_Real float
  , Diferencia_Total float
  , Diferencia_Utilidad float
)
 
INSERT INTO @Tabla_Facturas
SELECT
             T7.Name,
             T7.U_Meta_Mensual,
             T7.U_Margen_Promedio ,
             (T7.U_Meta_Mensual * T7.U_Margen_Promedio) / 100 as Utilidad_Bruta_Mensual,
             SUM(T1.[LineTotal] - case when T0.[DiscPrcnt] > 0 then (T0.[DiscPrcnt]/100)*(T1.[LineTotal]) else 0 end ) as Total,
             SUM(T1.[GrssProfit]) / ((SUM(T1.[LineTotal] - case when T0.[DiscPrcnt] > 0 then (T0.[DiscPrcnt]/100)*(T1.[LineTotal]) else 0 end ))) * 100 as Margen,
             SUM(T1.[GrssProfit]) as Utilidad_Real,
             T7.U_Meta_Mensual - (SUM(T1.[LineTotal] - case when T0.[DiscPrcnt] > 0 then (T0.[DiscPrcnt]/100)*(T1.[LineTotal]) else 0 end )) as Diferencia_Total,
             (T7.U_Meta_Mensual * T7.U_Margen_Promedio) / 100 - (SUM(T1.[GrssProfit])) as Diferencia_de_Utilidad
 
           FROM OINV T0
             INNER JOIN INV1 T1 ON T0.DocEntry = T1.DocEntry
             INNER JOIN OCRD T2 ON T0.CardCode = T2.CardCode
             INNER JOIN OITM T3 ON T1.ItemCode = T3.ItemCode
             INNER JOIN OITB T4 ON T3.ItmsGrpCod = T4.ItmsGrpCod
             INNER JOIN OCRG T5 ON T2.GroupCode = T5.GroupCode
             INNER JOIN OCTG T6 ON T0.GroupNum = T6.GroupNum
             INNER JOIN dbo.[@ASCM] T7 ON T0.SlpCode = T7.Code
             INNER JOIN OPLN T8 ON T2.ListNum = T8.ListNum
 
             WHERE T0.DocDate Between @FchInicial and @FchFinal
 
       GROUP BY
                 T7.Name,
                   T7.U_Meta_Mensual,
                   T7.U_Margen_Promedio
 
/*---------------------------------------------------------*/
 
DECLARE @Tabla_NC AS TABLE
( Asesor2 nvarchar (50)
  , Meta_Mensual2 float
  , Margen_Promedio_Proyectado2 float
  , Utilidad_Bruta_Proyetada_Mensual2 float
  , Total2 float
  , Margen2 float
  , Utilidad_Real2 float
  , Diferencia_Total2 float
  , Diferencia_Utilidad2 float
)
 
INSERT INTO @Tabla_NC
       SELECT
             T7.Name,
             T7.U_Meta_Mensual,
             T7.U_Margen_Promedio,
             (T7.U_Meta_Mensual * T7.U_Margen_Promedio) / 100 as Utilidad_Bruta_Mensual,
             SUM(T1.[LineTotal] - case when T0.[DiscPrcnt] > 0 then (T0.[DiscPrcnt]/100)*(T1.[LineTotal]) else 0 end ) as Total,
             SUM(T1.[GrssProfit]) / ((SUM(T1.[LineTotal] - case when T0.[DiscPrcnt] > 0 then (T0.[DiscPrcnt]/100)*(T1.[LineTotal]) else 0 end ))) * 100 as Margen,
             SUM(T1.[GrssProfit]) as Utilidad_Real,
             T7.U_Meta_Mensual - (SUM(T1.[LineTotal] - case when T0.[DiscPrcnt] > 0 then (T0.[DiscPrcnt]/100)*(T1.[LineTotal]) else 0 end )) as Diferencia_Total,
             (((T7.U_Meta_Mensual * T7.U_Margen_Promedio) / 100)) - (SUM(T1.[GrssProfit])) as Diferencia_de_Utilidad
 
             FROM ORIN T0
             INNER JOIN RIN1 T1 ON T0.DocEntry = T1.DocEntry
             INNER JOIN OCRD T2 ON T0.CardCode = T2.CardCode
             INNER JOIN OITM T3 ON T1.ItemCode = T3.ItemCode
             INNER JOIN OITB T4 ON T3.ItmsGrpCod = T4.ItmsGrpCod
             INNER JOIN OCRG T5 ON T2.GroupCode = T5.GroupCode
             INNER JOIN OCTG T6 ON T0.GroupNum = T6.GroupNum
             INNER JOIN dbo.[@ASCM] T7 ON T0.SlpCode = T7.Code
             INNER JOIN OPLN T8 ON T2.ListNum = T8.ListNum
 
             WHERE T0.DocDate Between @FchInicial and @FchFinal
 
 
             GROUP BY
                 T7.Name,
                   T7.U_Meta_Mensual,
                   T7.U_Margen_Promedio
 
SELECT T1.Asesor,
          T1.Meta_Mensual,
          CONVERT (VARCHAR (6),T1.Margen_Promedio_Proyectado) + ' ' + @Porcetaje 'Margen Promedio Proyectado',
          ROUND(T1.Utilidad_Bruta_Proyetada_Mensual,2) 'Utilidad Bruta Proyectada Mensual',
       ROUND(T1.Total - ISNULL(T2.Total2,0),2) 'Total',
          CONVERT (VARCHAR(20),ROUND (T1.Margen,2)) +' '+ @Porcetaje 'Margen',
          ROUND(T1.Utilidad_Real,2) 'Utilidad Real',
          -ROUND(T1.Diferencia_Total,2) 'Diferencia Total',
          -ROUND(T1.Diferencia_Utilidad,2) 'Diferencia Utilidad',
          CONVERT(VARCHAR(4),ROUND((T1.Total - ISNULL(T2.Total2,0)) / T1.Meta_Mensual * 100,0)) +' '+ @Porcetaje 'Cumplimiento'
 
FROM @Tabla_Facturas T1
LEFT JOIN @Tabla_NC T2 ON T1.Asesor = T2.Asesor2
 
WHERE T1.Asesor = 'ALEXIS ORDOÑEZ'

Y este es el codigo que estoy utilizando para tratar de correrla:
1
2
3
Connection con=null;
Statement cmd=null;
String CLASSNAME="com.microsoft.sqlserver.jdbc.SQLServerDriver";

1
2
3
4
Class.forName(CLASSNAME);
con=DriverManager.getConnection("jdbc:sqlserver://192.168.10.6:1433;databaseName =DATABASE","USER","PASS");
cmd=con.createStatement();
ResultSet rs1=cmd.executeQuery(sql) en ; en la variable sql tengo almacenada la consulta
muchas gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder