
Mysql + VB + Crystal Report espera larga
Publicado por Jamyz (2 intervenciones) el 09/10/2021 08:14:13
Hola!
Para comprobar que me ponga bien los datos he creado un Datagrid que es el siguiente :
Este me pone bien lo que quiero y me lo pone al momento en pantalla.
Hago para generar el crystalreport con el codigo siguiente :
Si no pongo el command.CommandTimeout = 21600 se cuelga poniendo un fatal error si son fechas un poco largas entre ellas.
Asi que que es lo que esta mal ?
Gracias
Para comprobar que me ponga bien los datos he creado un Datagrid que es el 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
Dim table As New DataTable()
Dim command As New MySqlCommand("SELECT
Produccion.Producto,
Produccion.Producto_tipo,
Produccion.Formato,
Produccion.Marcado,
Produccion.Codigo_referencia,
Produccion.Particularidad,
count(*) as TOTAL_PALES,
SUM(Piezas) AS TOTAL_PIEZAS,SUM(Kilos) AS TOTAL_Kilos,
CONCAT(Produccion.Longitud, 'x',Produccion.Anchura) AS TAMANO
FROM Lote_Cliente, Produccion
WHERE (fecha_preparacion BETWEEN @FECHAINICIO AND @FECHAFINAL) AND Lote_Cliente.numero_lote_cliente = Produccion.Lote_cliente AND Produccion.Nave = @NAVE AND Produccion.Producto = @PRODUCTO
GROUP BY Produccion.Producto,Produccion.Producto_tipo,Produccion.Formato,Produccion.Marcado,Produccion.Codigo_referencia,Produccion.Particularidad,TAMANO
ORDER BY Produccion.Producto, Produccion.Producto_tipo,Produccion.Formato,TAMANO ASC,Produccion.Codigo_referencia,Produccion.Marcado ASC", con)
command.Parameters.AddWithValue("@FECHAINICIO", DateTimePicker1.Value.ToString("yyyy-MM-dd"))
command.Parameters.AddWithValue("@FECHAFINAL", DateTimePicker2.Value.ToString("yyyy-MM-dd"))
command.Parameters.AddWithValue("@NAVE", ComboBox1.Text)
command.Parameters.AddWithValue("@PRODUCTO", ComboBox2.Text)
Dim adapter As New MySqlDataAdapter(command)
adapter.Fill(table)
DataGridView1.DataSource = table
Este me pone bien lo que quiero y me lo pone al momento en pantalla.
Hago para generar el crystalreport con el codigo 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
Dim ds As New DataSet
p(0) = New MySqlParameter("@FECHAINICIO", DateTimePicker1.Value.ToString("yyyy-MM-dd"))
p(0).Value = DateTimePicker1.Text
p(1) = New MySqlParameter("@FECHAFINAL", DateTimePicker2.Value.ToString("yyyy-MM-dd"))
p(1).Value = DateTimePicker2.Text
p(2) = New MySqlParameter("@NAVE", ComboBox1.Text)
p(2).Value = ComboBox1.Text
p(3) = New MySqlParameter("@PRODUCTO", ComboBox2.Text)
p(3).Value = ComboBox2.Text
Dim command As New MySqlCommand("SELECT
Produccion.Producto,
Produccion.Producto_tipo,
Produccion.Formato,
Produccion.Marcado,
Produccion.Codigo_referencia,
Produccion.Particularidad,
count(*) as TOTAL_PALES,
SUM(Piezas) AS TOTAL_PIEZAS,SUM(Kilos) AS TOTAL_Kilos,
CONCAT(Produccion.Longitud, 'x',Produccion.Anchura) AS TAMANO
FROM Lote_Cliente, Produccion
WHERE (fecha_preparacion BETWEEN @FECHAINICIO AND @FECHAFINAL) AND Lote_Cliente.numero_lote_cliente = Produccion.Lote_cliente AND Produccion.Nave = @NAVE AND Produccion.Producto = @PRODUCTO
GROUP BY Produccion.Producto,Produccion.Producto_tipo,Produccion.Formato,Produccion.Marcado,Produccion.Codigo_referencia,Produccion.Particularidad,TAMANO
ORDER BY Produccion.Producto, Produccion.Producto_tipo,Produccion.Formato,TAMANO ASC,Produccion.Codigo_referencia,Produccion.Marcado ASC", con)
Dim dscmd As New MySqlDataAdapter(command)
dscmd.SelectCommand.Parameters.Add(p(0))
dscmd.SelectCommand.Parameters.Add(p(1))
dscmd.SelectCommand.Parameters.Add(p(2))
dscmd.SelectCommand.Parameters.Add(p(3))
command.CommandTimeout = 21600
dscmd.Fill(ds, "VENTASPALESPORFECHAS")
con.Close()
Dim cryds As New Venta_Pales_por_Fecha
cryds.SetDataSource(ds.Tables(0))
CrystalReportViewer1.ReportSource = cryds
CrystalReportViewer1.Refresh()
con.Close()
con.Close()
Si no pongo el command.CommandTimeout = 21600 se cuelga poniendo un fatal error si son fechas un poco largas entre ellas.
Asi que que es lo que esta mal ?
Gracias
Valora esta pregunta


0