
reporte C#
Publicado por isai (1 intervención) el 26/01/2015 19:57:19
Hola,
Tengo un reporte en C# con ReportViewer y RDLC.
En mi diseño tengo una imagen
Mi base de datos es MySQL con los sig. campos:
id int(8)
nombre varchar(80)
imagen varchar(100)
bien en el campo imagen como podran darse cuenta guardo la ruta de la imagen a usar. Las imágenes se guardan en una computadora que actuará como servidor.
En el reporte le indique que la imagen es Externa y al probarla localmente funciono bien. Al por los parametros de red la imagen no se despliega.
Bien intenté los siguiente en una variable guardar la imagen como tal e indicarle en el reporte que es una imagen desde la base de datos.
class empleado:
y cuando leo el registro:
Pero al desplegar el reporte no me muestra la foto, me pueden ayudar.
Saludos
Tengo un reporte en C# con ReportViewer y RDLC.
En mi diseño tengo una imagen
Mi base de datos es MySQL con los sig. campos:
id int(8)
nombre varchar(80)
imagen varchar(100)
bien en el campo imagen como podran darse cuenta guardo la ruta de la imagen a usar. Las imágenes se guardan en una computadora que actuará como servidor.
En el reporte le indique que la imagen es Externa y al probarla localmente funciono bien. Al por los parametros de red la imagen no se despliega.
Bien intenté los siguiente en una variable guardar la imagen como tal e indicarle en el reporte que es una imagen desde la base de datos.
class empleado:
1
2
3
4
5
6
7
8
9
namespace MenuPrincipal
{
public class EEmpleado
{
public int idempl { get; set; }
public string nomempl { get; set; }
public Image foto { get; set; }
}
}
y cuando leo el registro:
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
using System.Configuration;
using System.Drawing;
using System.IO;
namespace MenuPrincipal
{
class DataEmpleados
{
/**
* Clase que genera los datos a enviar al reporte
* se debe de pasar por parametro el id del empleado.
*/
public static EEmpleado GetEmpleado(string idempl)
{
//inicio la instancia del empleado
EEmpleado empl = new EEmpleado();
//Conexion con la base de datos
MySqlConnection conexion = BdConexion.ObtenerConexion();
string sqlCadena = "";
sqlCadena = "SELECT t1.idempl AS idempl, CONCAT(t1.nomempl,' ', t1.appempl,' ', t1.apmempl) AS nomempl, t1.fecnac AS fecnac, t2.nomesta AS edonac, t1.curpempl as curpempl,t1.rfcempl AS rfcempl,"
+ "t1.calle AS calle, t1.noext AS noext, t1.noint AS noint, t1.colonia AS colonia, t1.municip AS municip, t3.nomesta AS estado, ifnull(t1.cp,0) AS cp, t1.fecing AS fecing, ifnull(t1.sdi,0) AS sdi, t1.edocivil AS edocivil,"
+ "ifnull(t1.cuota,0) AS cuota, ifnull(t1.semaneto,0) AS semaneto, ifnull(t1.catorce,0) AS catorce, ifnull(t1.contrato,0) AS contrato, t4.nomcate AS catego, ifnull(t5.nomobra,'') AS obra, t1.imss AS imss, ifnull(t1.noclinica,0) AS noclinica, t1.pagomatico AS pagomatico,"
+ "t1.beneficiario AS beneficiario, t1.fecnacben AS fecnacben, t1.parentesco AS parentesco, t1.credito AS credito, t1.nocred AS nocred, t1.foto AS foto, ifnull(t6.regpat,'') AS regptronal, ifnull(t1.vsmd,0) AS vsmd,t1.fecinitar AS fecinitar,"
+ "t1.fecfintar AS fecfintar, t1.fecpertar AS fecpertar FROM empleados AS t1 "
+ "LEFT JOIN estados AS t2 ON t1.idesta = t2.idesta "
+ "LEFT JOIN estados AS t3 ON t1.idesta = t3.idesta "
+ "LEFT JOIN categorias AS t4 ON t1.idcate = t4.idcate "
+ "LEFT JOIN obras AS t5 ON t1.idobra = t5.idobra "
+ "LEFT JOIN registros AS t6 ON t5.idobra=t6.idobra WHERE idempl = " + idempl;
MySqlCommand miComando = new MySqlCommand(sqlCadena, conexion);
miComando.ExecuteNonQuery();
//leo el resultado
MySqlDataReader regEmpl = miComando.ExecuteReader();
//Asigno los valores a los campos correspondientes
while (regEmpl.Read())
{
empl.idempl = Convert.ToInt32(regEmpl["idempl"]);
empl.nomempl = (string)regEmpl["nomempl"];
using (FileStream stream = new FileStream((string)regEmpl["foto"], FileMode.Open, FileAccess.Read))
{
empl.foto = Image.FromStream(stream);
}
//cierro conexion
conexion.Close();
//regreso la instancia de empleado
return empl;
}
}
}
Pero al desplegar el reporte no me muestra la foto, me pueden ayudar.
Saludos
Valora esta pregunta


0