Estoy desarrollando una aplicación para windows y yo uso el Informe de Crystal en ella (soy nuevo en informes de Crystal) el problema que estoy enfrentando es cuando me de la prueba el informe en la primera carga funciona bien, pero cuando trato de actualizar el informe que me da la base de datos de la ventana de inicio de sesión, hay una manera de evitar esta ventana? y cómo establecer la cadena de conexión para el informe usando el código?

Notas:
1-traté de

private void crystalReportViewer1_ReportRefresh(object source, CrystalDecisions.Windows.Forms.ViewerEventArgs e)
    {
        Myreport.SetDatabaseLogon("username", "password", "server", "dbname", false);
    }

pero todavía se me pone la base de datos de la ventana de inicio de sesión.

2-uso de informes de crystal arrastrar y soltar para crear mi informe.

3-esta es una aplicación de windows y sql server 2008 de la base de datos C# es el lenguaje de programación.

4-servidor en la aplicación puede o no puede estar en el mismo pc.

InformationsquelleAutor MinaG | 2013-07-23

7 Comentarios

  1. 1

    He tenido un problema similar. El SetDatabaseLogon función no estaba funcionando para mí, así que había que asignar manualmente los detalles de conexión para cada tabla en el informe. Pensé que la función fue orientado para SQL Server (yo estoy usando Sybase ASE), pero puede ser que teniendo el mismo problema que yo.

    ConnectionInfo connInfo = new ConnectionInfo();
    connInfo.ServerName = "Driver={Adaptive Server Enterprise};Server=x.x.x.x;Port=x;";
    connInfo.DatabaseName = "dbname";
    connInfo.UserID = "username";
    connInfo.Password = "password";
    
    TableLogOnInfo tableLogOnInfo = new TableLogOnInfo();
    tableLogOnInfo.ConnectionInfo = connInfo;
    
    foreach(Table table in reportDoc.Database.Tables)
    {
      table.ApplyLogOnInfo(tableLogOnInfo);
      table.LogOnInfo.ConnectionInfo.ServerName = connInfo.ServerName;
      table.LogOnInfo.ConnectionInfo.DatabaseName = connInfo.DatabaseName;
      table.LogOnInfo.ConnectionInfo.UserID = connInfo.UserID;
      table.LogOnInfo.ConnectionInfo.Password = connInfo.Password;
    
      //Apply the schema name to the table's location
      table.Location = "dbo." + table.Location;
    }

    Claramente su connInfo.ServerName serán diferentes, pero he incluido el patrón que he usado para cualquier otra persona atascado con este mismo problema, pero en la ASE.

    Espero que esto ayude.

    • Gracias por tu respuesta voy a probar y te dicen que si funciona, gracias de nuevo
    • Muchas gracias es parcialmente trabajado, quiero decir que se ha cambiado el nombre del servidor y el nombre de base de datos en la base de datos de la ventana de inicio de sesión, pero la ventana se muestran pidiendo la contraseña, es la que hay y la solución para esto?
    • Funcionó ahora se me olvidó ponerlo en carga demasiado ese era el problema gracias 😀
    • danza Feliz me Alegro de que podría ayudar a
  2. 1
    private void button1_Click(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();
            dt = selectallrecord();
            CrystalReport1 cr1 = new CrystalReport1();
            cr1.SetDataSource(dt);
            crystalReportViewer1.ReportSource = cr1;
    
    
        }
    
    
    
        public DataTable selectallrecord()
        {
            Connection c = new Connection();
            //c.main();
    
            if (c.cn.State == ConnectionState.Open)
            {
                c.cn.Close();
                c.cn.Open();
            }
    
            DataSet DS = new DataSet();
            string USER = "";
            USER = "SELECT * FROM StudentInfo";
            SqlDataAdapter DA = new SqlDataAdapter(USER, c.cn);
            DA.Fill(DS);
            DataTable DT = DS.Tables[0];
            return DT;
    
        }
    • Gracias SumitG lo tengo Zec respuesta trabajó muy bien, gracias de nuevo
  3. 0

    Parece que se cierre la conexión, a continuación, al actualizar no volver a abrir la conexión…puedes publicar tu código completo para verificar?

    • Este es el único código que uso en la forma todo lo demás es sólo arrastrar y soltar ningún código de lo que nunca, es una forma tiene un visor de informes de crystal y el informe enlazado mediante el menú tareas para el espectador y no tengo otro código, pero la actualización del informe puse en la pregunta, y su respuesta es lógica, pero no tengo ni abrir ni cerrar la conexión, gracias de antemano
  4. 0

    acaba de dar su base de datos de credenciales al método SetDatabaseLogon como a continuación
    Informe.SetDatabaseLogon(«», «XXX») para el acceso db

    Informe.SetDatabaseLogon(«sa», «XXXXX»,»Servidor», «DatabaseName») para Sql server.

    pero después de dar el paso de la línea de
    Informe.SetDataSource(Dt)

  5. 0
    TableLogOnInfos crtableLogoninfos = new TableLogOnInfos();
                TableLogOnInfo crtableLogoninfo = new TableLogOnInfo();
                ConnectionInfo crConnectionInfo = new ConnectionInfo();
                Tables CrTables;
                SalesManVisit cryRpt = new SalesManVisit();
    
                crConnectionInfo.ServerName = @"TLPL_ICT_OPR\xxxxxxxxx";
                crConnectionInfo.DatabaseName = "xxxxxxx";
    
                crConnectionInfo.UserID = "xxxxx";
                crConnectionInfo.Password = "xxxxxx";
    
    
    
                CrTables = cryRpt.Database.Tables;
                foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in CrTables)
                {
                    crtableLogoninfo = CrTable.LogOnInfo;
                    crtableLogoninfo.ConnectionInfo = crConnectionInfo;
                    CrTable.ApplyLogOnInfo(crtableLogoninfo);
                }
                CrystalReportViewer1.ReportSource = cryRpt;
                CrystalReportViewer1.RefreshReport();
                cryRpt.Refresh();
    • cualquier explicación aparte de el código?
  6. 0

    Mi Problema era por la instalación de SQL Server 2014 Herramienta de Cliente de Conectividad, y hacia atrás componentes de conectividad de cliente mediante la instalación de SQL Server de origen.

    asp imagen de abajo……… sólo instalar el Cliente de la Herramienta de Conectividad, no completa base de datos Sql server…Cómo prevenir la base de datos de la ventana de inicio de sesión en crystal report?

  7. 0

    Asegúrese de que todos los «Campos de Base de datos» en el Campo «Explorer» se usa en el informe
    Eliminar todas las Tablas de la base de datos que no se utilizan en el informe
    Explorador de campos >> Campos de Base de datos, Haga Clic en >> asistente de Base de datos >> Tablas Seleccionadas

    Nota: Esta ventana emergente aparece si datatable está vacía

Dejar respuesta

Please enter your comment!
Please enter your name here