Compartir a través de


Agregar el código de conexión del informe

Ahora estará preparado para agregar el código de conexión del informe a la clase de código subyacente. Va a empezar por crear un método auxiliar privado, SetDBLogonForReport().

Para crear y codificar el método SetDBLogonForReport()

  1. Regrese a la clase de código subyacente de este Web Forms o Windows Forms.

  2. En la parte inferior de la clase, cree un nuevo método privado denominado SetDBLogonForReport() al que se le pase ConnectionInfo en la firma de método.

    Private Sub SetDBLogonForReport(ByVal myConnectionInfo As ConnectionInfo)
    
    End Sub
    
    private void SetDBLogonForReport(ConnectionInfo connectionInfo)
    {
    }
    
  3. Con este método, se obtiene la instancia de TableLogOnInfos de la propiedad LogOnInfo de la clase CrystalReportViewer.

<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images\z15yzzew.alert_note(es-es,VS.90).gif" class="note" />Nota</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>TableLogOnInfos es una clase indizada que contiene instancias de la clase TableLogOnInfo.</p></td>
</tr>
</tbody>
</table>

``` vb
Dim myTableLogOnInfos As TableLogOnInfos = myCrystalReportViewer.LogOnInfo
```

``` csharp
TableLogOnInfos tableLogOnInfos = crystalReportViewer.LogOnInfo;
```
  1. Cree un bucle foreach que recorra todas las instancias de TableLogOnInfo de la instancia de clase indizada TableLogOnInfos.

    For Each myTableLogOnInfo As TableLogOnInfo In myTableLogOnInfos
    
    Next
    
    foreach(TableLogOnInfo tableLogOnInfo in tableLogOnInfos)
    {
    }
    
  2. En el bucle foreach, establezca la propiedad ConnectionInfo de TableLogOnInfo en el parámetro ConnectionInfo.

    myTableLogOnInfo.ConnectionInfo = myConnectionInfo
    
    tableLogOnInfo.ConnectionInfo = connectionInfo;
    

Para modificar el método ConfigureCrystalReports() para direccionar el código de conexión con la base de datos

El procedimiento de este paso ha creado un método para establecer la conexión de la base de datos. Sin embargo, debe modificar el método ConfigureCrystalReports() para direccionar este método, con el fin de que el informe sepa que tiene información sobre conexión de base de datos.

La modificación del método ConfigureCrystalReports() requiere dos acciones:

  • Configurar la instancia de ConnectionInfo.
  • Llamar al método SetDBLogonForReport().
  1. En el método ConfigureCrystalReports(), declare y cree una instancia de la clase ConnectionInfo debajo del código que enlaza el informe al control CrystalReportViewer.

    Dim myConnectionInfo As ConnectionInfo = New ConnectionInfo()
    
    ConnectionInfo connectionInfo = new ConnectionInfo();
    
  2. En la siguiente línea, llame al método SetDBLogonForReport() y pásele la instancia de ConnectionInfo.

    SetDBLogonForReport(myConnectionInfo)
    
    SetDBLogonForReport(connectionInfo);
    
  3. Establezca las propiedades DatabaseName, UserID y Password de la instancia de ConnectionInfo.

<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images\z15yzzew.alert_note(es-es,VS.90).gif" class="note" />Nota</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>Por razones de seguridad, es importante utilizar una cuenta de base de datos con permisos de acceso limitado. Para obtener más información, vea <a href="ms227498(v=vs.90).md">Seguridad: crear una cuenta de base de datos de acceso limitado</a>.</p></td>
</tr>
</tbody>
</table>

En el código que escriba, reemplace la contraseña de ejemplo 1234 (que se muestra más abajo) por su propia contraseña.

``` vb
myConnectionInfo.DatabaseName = "Northwind"
myConnectionInfo.UserID = "limitedPermissionAccount"
myConnectionInfo.Password = "1234"
```

``` csharp
connectionInfo.DatabaseName = "Northwind";
connectionInfo.UserID = "limitedPermissionAccount";
connectionInfo.Password = "1234";
```

Para probar la carga del informe NorthwindCustomers

Ahora estará listo para crear y ejecutar el proyecto. El informe se debe cargar correctamente, ya que ha agregado código para conectar con la base de datos.

  1. En el menú Generar, seleccione Generar solución.

  2. Si existen errores de generación, continúe y corríjalos ahora.

  3. En el menú Depurar, haga clic en Iniciar.

El informe NorthwindCustomers se mostrará correctamente.
  1. Vuelva a Visual Studio y haga clic en Detener para salir del modo de depuración.