none
Instancia Crytal Report desde C# RRS feed

  • Pregunta

  • Saludos,

    Recientemente he hecho una proyecto en el cual he utilizado CrystalReport para generar la impresión mis documentos, pero sucede? Al instalarlo en el equipo del cliente, me ha sido necesario cambiar cierta información del equipo porque la instancia a la base de datos se queda grabada como si fuese en mi equipo.

    Genere el archivo App.Config del cual halo la cadena de conexión para correr mi proyecto el cual funciona perfecto, pero no se la manera para hacer que mi instancia de conexión del crystal report tome la cadena de conexión el mismo archivo App.Config.

    Supongo que necesito una manera de configurar el dataset o datasource algo asi;

    DB; Sql Server 2008R2

    Dudas, Comentario y sugerencias serán gratamente recibidas!

    ___________________________________________________



    • Editado DewinRD viernes, 30 de junio de 2017 12:33
    • Cambiado Joyce_AC viernes, 30 de junio de 2017 13:46
    viernes, 30 de junio de 2017 12:29

Todas las respuestas

  • Hola 

    ¿Podrías mostrar el código?

    Genere el archivo App.Config del cual halo la cadena de conexión para correr mi proyecto el cual funciona perfecto, pero no se la manera para hacer que mi instancia de conexión del crystal report tome la cadena de conexión el mismo archivo App.Config.

    Supongo que necesito una manera de configurar el dataset o datasource

    <connectionStrings>
        <add name="NorthwindConnectionString"
            connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Northwind.accdb;Persist Security Info=True"
            providerName="System.Data.OleDb" />
    </connectionStrings>

    using System.Text;
    using System.Data;
    using System.Data.OleDb;
    using CristalReports.AccesoDatos;
     
    namespace CristalReports.Reportes
    {
        public class ClienteRepository
        {
            internal static dsClientes ObtenerClientes()
            {
                dsClientes _dsClientes = new dsClientes();
                using (OleDbConnection cn = new OleDbConnection(ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ToString()))
                {
                    cn.Open();
                    using (OleDbCommand cmd = cn.CreateCommand())
                    {
                        cmd.CommandText = "SELECT Id, Nombre, Apellidos FROM Clientes";
                        OleDbDataAdapter da = new OleDbDataAdapter(cmd);
                        da.Fill(_dsClientes, "Clientes");
                    }
                }
                return _dsClientes;
            }
        }
    }
    Es un ejemplo debes cambiar al proveedor de datos que estés usando

    ¿Te refieres a eso?

    Crystal Reports con DataSet tipado

    Crystal Reports con Store Procedure


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú






    viernes, 30 de junio de 2017 13:17
  • Hola:

    Cuando estas diseñando el fichero "RPT", como origen de datos tienes que poner un fichero de esquema (extension XML) y asi de esta manera puedes coger los datos de cualquier base de datos.
    El unico requisito es que los campos que estan en el fichero RPT, tienen que estar en la consulta que haces a la base de datos.

    P.D.
    Si quieres un ejemplo (para VB), pon una direccion de correo y te lo envio.

    Un saludo desde Bilbo
    Carlos
    sábado, 1 de julio de 2017 6:41