//Metodo utilizado más adelante
private void EstablecerDatos(ConnectionInfo Conexion)
{
TableLogOnInfos Log = CrystalVisor.LogOnInfo;
foreach (TableLogOnInfo item in Log)
{
item.ConnectionInfo = Conexion;
}
}
void CargarParametro()
{
//Control de errores
try
{
//esta es mi forma de cargar los datos de conexion a la base de datos
object[] Datos
= new object[4]; Datos = Toclas.Funciones.obtenervaloreskey("Ginfo");
//con la siguiente linea lo cargo a una dll que me lo convierte a formato string correcto para conexiones
GinfoDAL.GINFODAL.Cargar(Datos[0].ToString(), Datos[1].ToString(), Datos[2].ToString(),
Toclas.Funciones.Codificar(Datos[3].ToString(), false));
//utilizo el formato de conexion para crear un adapter y luego cargar un data set con toda la informacion de la base de datos
//esto lo hice buscando soluciones alternas
SqlConnection con
= new SqlConnection
(GinfoDAL
.GINFODAL.ConexionDataSet); string sqlcomando = "select * from clasevehiculo;";
sqlcomando += "select * from colortapa;";
sqlcomando += "select * from datosprevios;";
sqlcomando += "select * from droga;";
sqlcomando += "select * from DrogasXResultado;";
sqlcomando += "select * from EntrevistaXResultado;";
sqlcomando += "select * from Evento;";
sqlcomando += "select * from Examinado;";
sqlcomando += "select * from GradoAlcohol;";
sqlcomando += "select * from LogOperaciones;";
sqlcomando += "select * from Metodo;";
sqlcomando += "select * from MotivoPeritacion;";
sqlcomando += "select * from MotivosXDatosPrevios;";
sqlcomando += "select * from Muestra;";
sqlcomando += "select * from ReponsableMuestra;";
sqlcomando += "select * from Respuesta;";
sqlcomando += "select * from Resultado;";
sqlcomando += "select * from Rol;";
sqlcomando += "select * from Solicitante;";
sqlcomando += "select * from TipoMuestra;";
sqlcomando += "select * from Test;";
sqlcomando += "select * from TipoDocumento;";
sqlcomando += "select * from Usuario;";
sqlcomando += "select * from Vehiculo;";
sqlcomando += "select * from Resultados;";
sqlcomando += "select * from VwSolicitudes;";
SqlDataAdapter da
= new SqlDataAdapter
(sqlcomando, con
); DataSet DSet
= new DataSet
(); da.Fill(DSet);
//lo siguiente fue otra solucion que encontre en internet
ConnectionInfo Conexion
= new ConnectionInfo
(); Conexion.DatabaseName = Datos[1].ToString(); //aqui se ve que cargo el nombre de la base de datos
Conexion.ServerName = (Datos[0].ToString());
Conexion.UserID = Datos[2].ToString();
Conexion.Password = Toclas.Funciones.Codificar(Datos[3].ToString(), false);
switch (tipo)
{
case 1:
//aqui cargo el reporte
Solicitud2
= new Reportes
.Solicitud(); //inserto la informacion de la conexion (otra forma mas que entontre)
Solicitud2.SetDatabaseLogon(Datos[2].ToString(), Toclas.Funciones.Codificar(Datos[3].ToString(), false), Datos[0].ToString(), Datos[1].ToString());
//cargo el dataset en el reporte
Solicitud2.SetDataSource(DSet);
//esta es otra forma que encontre de hacer la conexion
for (int i = 0; i < Solicitud2.DataSourceConnections.Count; i++)
{
Solicitud2.DataSourceConnections[i].SetConnection(Datos[0].ToString(), Datos[1].ToString(), Datos[2].ToString(), Toclas.Funciones.Codificar(Datos[3].ToString(), false));
}
//mando un parametro al el reporte
Solicitud2.SetParameterValue("Radicado", (object)(Radicado));
//lo cargo en el visor
CrystalVisor.ReportSource = Solicitud2;
//Refresco (lei por ahi que servia, pero aunque quite o ponga esta linea no cambia nada del problema
CrystalVisor.Refresh();
//otra forma de extablecer la conexion
EstablecerDatos(Conexion);
break;