Crystal Report

navginrau
07 de Junio del 2009
Hola compañeros.

Estoy realizando un proyecto web con .NET en el que utilizo Crystal Reports 10 para generar una serie de facturas.

El caso es que cuando he tenido que realizar acceso a base de datos (SQL Server) bien para llenar un GridView, o para realizar cualquier consulta lo he hecho en tiempo de ejecución. Es decir, leo la cadena de conexión de un XML donde la tengo almacenada, le paso la sentencia y relleno el GridView.

El problema lo tengo al mostrar los datos de las facturas de los clientes. Con Crystal Report lo he conseguido que funcionara correctamente creando un DataSet primero y luego mostrando los campos, o bien conectando directamente el Report a la base de datos. Pero lo que me gustaría hacer es no tener que declarar un "ConnectionString" en el WEb.config o tener un DSN en los que la cedena de conexión este declarada previamente. Sino pasarle yo directamente la cadena de conexion al Report y el rellenar los campos correctamente.

¿Es posible hacer esto de alguna manera en tiempo de ejecucion? ¿Como tendría que declarar los campos en el Report?

Muchas gracias de antemano.

Espero haberme explicado bien.

Shiru_Jan_Developer
07 de Junio del 2009
Hola navginrau!

Yo andaba buscando otra cosa, vi tu post y pss te ayudo.

Pues si es posible establecer la conexion a la base de datos metiendole la conexion manualmente desde la forma.

en la forma tienes texbox donde le metes el nombre de la base de datos, usuario y contraseña y ya en el codigo concatenas todo y lo metes en los parametros de conexión.

para realizar la conexion usarías esto:

bProviderFactory locObjDatProFactory = DbProviderFactories.GetFactory(clsStrDatProFacName);
GenericDatabase locObjGenDatBase = new GenericDatabase(clsStrConBasDatos, locObjDatProFactory);
locObjGenDatBase.CreateConnection();

en donde clsStrDatProFacName es el proveedor de base de datos (SQL, oracle...) y clsStrConBasDatos que es la cadena de conexion a la base de datos, que es exactamente igual a como viene en web.config.

Por ahí tengo un manual que realizé, ahi me avisas si lo deseas, suerte!