Compartir a través de


Configurar un informe de ADO.NET en un visor

Dado que el objeto de conjunto de datos generado con ADO.NET Dataset Designer sólo contiene la descripción de los datos y no los datos reales, el informe no puede mostrar ningún dato, ni siquiera tras conectar el informe al objeto de conjunto de datos. Para que el informe muestre los datos reales, debe rellenar el objeto de conjunto de datos con los datos antes de enlazar el informe a Web Forms Viewer o a Windows Forms Viewer. Debe hacerlo en el correspondiente archivo de código fuente del Web Form o Windows Form.

Informes ADO.NET en Web Forms Viewers

Suponga que:

  • Ha creado un Web Form con Web Forms Viewer para que contenga un informe denominado CrystalReport1.rpt.
  • Está utilizando ADO.NET y MS OLEDB Jet Provider para conectar CrystalReport1.rpt a la base de datos de ejemplo, xtreme.mdb.
  • Va a añadir todos los campos de la tabla de clientes de xtreme.mdb al informe.

Para especificar los datos y enlazar el informe a Web Forms Viewer

  1. En el Explorador de soluciones, haga clic en WebForm1.aspx.
  2. Haga clic en Ver código del Explorador de soluciones.
  3. En el archivo de código fuente del Web Form, escriba:

using System.Data.ADO;

  1. Al principio de la definición de clase, escriba:

public CrystalReport1 oRpt = new CrystalReport1();

  1. Tras llamar a InitializeComponent() en PageInit(), escriba:

// establecer información de conexión

OleDbConnection oleConn = new

OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;"

+ “Data Source=C:\\Archivos de Programa\\" +

"Microsoft Visual Studio .NET 2003\\Crystal Reports" +

+ "\\Samples\\Database\\xtreme.mdb");

OleDbDataAdapter dataAdapter = new OleDbDataAdapter ("SELECT * FROM Customer", oleConn);

DataSet1 dataSet = new DataSet1();

// Conectarse, buscar datos y desconectarse de la base de datos

dataAdapter.Fill (dataSet, "Cliente");

// Utilizar el modelo de objetos Report Engine <linebreak>// para pasar conjuntos de datos llenos al informe

oRpt.SetDataSource (dataSet);

// enlazar el objeto de informe con datos a Web Forms Viewer

CrystalReportViewer1.ReportSource = oRpt;

Informes ADO.NET en Windows Forms Viewers

Suponga que:

  • Ha creado un Windows Form con Windows Forms Viewer para almacenar un informe denominado CrystalReport1.rpt.
  • Está utilizando ADO .NET y MS OLEDB Jet Provider para conectar CrystalReport1.rpt a la base de datos de ejemplo, xtreme.mdb.
  • Va a añadir todos los campos de la tabla de clientes de xtreme.mdb al informe.

Para especificar los datos y enlazar el informe a Windows Forms Viewer

  1. En el Explorador de soluciones, haga clic con el botón secundario en el nombre del proyecto y haga clic en Agregar referencia.
  2. Añada System.XML.dll como referencia.
  3. En el archivo de código fuente del Windows Form, escriba:

using System.Data.ADO;

  1. Al principio de la definición de clase del Windows Form, escriba:

public CrystalReport1 oRpt = new CrystalReport1();

  1. Tras llamar a InitializeComponent() en Form1(), escriba:

// establecer información de conexión

OleDbConnection oleConn = new

OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Archivos de programa\\Microsoft Visual Studio.NET 2003\\Crystal Reports\\Ejemplos\\Base de datos\\xtreme.mdb");

OleDbDataAdapter dataAdapter = new OleDbDataAdapter ("SELECT * FROM Customer", oleConn);

DataSet dataSet = new DataSet();

// Conectarse, buscar datos y desconectarse de la base de datos

dataAdapter.Fill (dataSet, "Cliente");

// Utilizar el modelo de objetos Report Engine para <linebreak>// pasar conjuntos de datos llenos al informe

oRpt.SetDataSource (dataSet);

// enlazar el objeto de informe con datos a Windows Forms Viewer

CrystalReportViewer1.ReportSource = oRpt;

Nota    El método Fill se conecta a la base de datos especificada, busca los datos y se desconecta de la base de datos. Si desea agregar al informe varias tablas de la base de datos, utilice un enunciado SQL JOIN para unir las tablas y, a continuación, especifique la tabla resultante en el método Fill.