Error in oleConn.Open ();

0

Guys I have a problem, I drop the program on the first line that I put here in the code, it says:

  

Error not expected from the external database controller (1).

foreach (DataRow dr1 in dtHorarios.Rows)
{
    horarios = horarios + dr1["VALOR"] + "  ";
}

string rutaOriginal = Server.MapPath("~/");
rutaOriginal = rutaOriginal + "include\plantilla\sence.xls";
string nombreArchivo = "sence.xls";
string rutaDescarga_paso;
string rutaDescarga = Server.MapPath("~/");

rutaDescarga_paso = txtCorrelativo.Text + "_" + Convert.ToString(DateTime.Now.Year) + Convert.ToString(DateTime.Now.Month) + Convert.ToString(DateTime.Now.Day) + Convert.ToString(DateTime.Now.Minute) + Convert.ToString(DateTime.Now.Second);
rutaDescarga = rutaDescarga + "include\tmp\" + rutaDescarga_paso;

System.IO.Directory.CreateDirectory(rutaDescarga);

System.IO.File.Copy(rutaOriginal, rutaDescarga + "\" + txtCorrelativo.Text + ".xls");
                nombreArchivo = txtCorrelativo.Text + ".xls";

string strConnnectionOle = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + rutaDescarga + "\" + txtCorrelativo.Text + ".xls" + ";Extended Properties='Excel 8.0;HDR=NO';";

OleDbConnection oleConn = new OleDbConnection(strConnnectionOle);
oleConn.Open();
OleDbCommand cmd = new OleDbCommand();
//cmd.Connection = oleConn;

cmd = new OleDbCommand("UPDATE [Antecedentes Actividad$C4:C4] SET F1='" + objEvento.NOMBREINTERNO + "'", oleConn);
cmd.ExecuteNonQuery();

cmd = new OleDbCommand("UPDATE [Antecedentes Actividad$C5:C5] SET F1='" + objSence.NOMBRE + "'", oleConn);
                cmd.ExecuteNonQuery();

cmd = new OleDbCommand("UPDATE [Antecedentes Actividad$C6:C6] SET F1='" + objSence.CODIGOSENCE + "'", oleConn);
cmd.ExecuteNonQuery();

cmd = new OleDbCommand("UPDATE [Antecedentes Actividad$C7:C7] SET F1='" + objOtec.RAZONSOCIAL + "'", oleConn);
cmd.ExecuteNonQuery();

// cmd = new OleDbCommand("UPDATE [Antecedentes Actividad$C8:C8] SET F1='" + objModalidad.NOMMODALIDAD + "'", oleConn);
                // cmd.ExecuteNonQuery();

cmd = new OleDbCommand("UPDATE [Antecedentes Actividad$C9:C9] SET F1='" + objEvento.HORASSENCE + "'", oleConn);
cmd.ExecuteNonQuery();

cmd = new OleDbCommand("UPDATE [Antecedentes Actividad$C10:C10] SET F1='" + objEvento.FECHAINICIOEMP.ToShortDateString() + "'", oleConn);
cmd.ExecuteNonQuery();

cmd = new OleDbCommand("UPDATE [Antecedentes Actividad$C11:C11] SET F1='" + objEvento.FECHAFINEMP.ToShortDateString() + "'", oleConn);
cmd.ExecuteNonQuery();

cmd = new OleDbCommand("UPDATE [Antecedentes Actividad$C12:C12] SET F1='" + diasclases + "'", oleConn);
cmd.ExecuteNonQuery();

cmd = new OleDbCommand("UPDATE [Antecedentes Actividad$C13:C13] SET F1='" + horarios + "'", oleConn);
                cmd.ExecuteNonQuery();

cmd = new OleDbCommand("UPDATE [Antecedentes Actividad$C14:C14] SET F1='" + objEvento.LUGAREJECUCIONEMP + "'", oleConn);
cmd.ExecuteNonQuery();


cmd = new OleDbCommand("UPDATE [Antecedentes Actividad$C15:C15] SET F1='" + objEvento.COSTOTOTAL + "'", oleConn);
                cmd.ExecuteNonQuery();

int fila = 6;
ECARGO objCargo = new ECARGO();
BFCARGO objBFCargo = new BFCARGO();
EEMPLEADO objEmpleado = new EEMPLEADO();
EEMPLEADO objJefe = new EEMPLEADO();
ENIVELESCOLARIDAD objNivelEscolaridad = new ENIVELESCOLARIDAD();
ENIVELOCUPACIONAL objNivelOcupacional = new ENIVELOCUPACIONAL();
BFEMPLEADO objBfEmpleado = new BFEMPLEADO();
BFNIVELESCOLARIDAD objBfNivelEscolaridad = new BFNIVELESCOLARIDAD();
BFNIVELOCUPACIONAL objBfNIvelOcupacional = new BFNIVELOCUPACIONAL();

string strin;

foreach (EPARTICIPANTE objpart in objEvento.PARTICIPANTES)
{
    if (objpart.CODTIPOALUMNO == 1)
    {
        strin = "UPDATE [Participantes$C" + Convert.ToString(fila) + ":C" + Convert.ToString(fila) + "] SET F1='" + objpart.RUTEMPLEADO + "'";
                        cmd = new OleDbCommand("UPDATE [Participantes$C" + Convert.ToString(fila) + ":C" + Convert.ToString(fila) + "] SET F1='" + objpart.RUTEMPLEADO + "'", oleConn);
        cmd.ExecuteNonQuery();

        cmd = new OleDbCommand("UPDATE [Participantes$D" + Convert.ToString(fila) + ":D" + Convert.ToString(fila) + "] SET F1='" + Utiles.digito_verificador(objpart.RUTEMPLEADO) + "'", oleConn);
                        cmd.ExecuteNonQuery();

        cmd = new OleDbCommand("UPDATE [Participantes$E" + Convert.ToString(fila) + ":E" + Convert.ToString(fila) + "] SET F1='" + objpart.NOMBRES + " " + objpart.APELLIDOPATERNO + " " + objpart.APELLIDOMATERNO + "'", oleConn);
        cmd.ExecuteNonQuery();

        objCargo = objBFCargo.GetCARGO(objpart.CODCARGO);
        cmd = new OleDbCommand("UPDATE [Participantes$F" + Convert.ToString(fila) + ":F" + Convert.ToString(fila) + "] SET F1='" + objCargo.NOMBRE + "'", oleConn);
        cmd.ExecuteNonQuery();

        cmd = new OleDbCommand("UPDATE [Participantes$G" + Convert.ToString(fila) + ":G" + Convert.ToString(fila) + "] SET F1='" + objEvento.CIUDADSENCE.ToUpper() + "'", oleConn);
        cmd.ExecuteNonQuery();


        cmd = new OleDbCommand("UPDATE [Participantes$H" + Convert.ToString(fila) + ":H" + Convert.ToString(fila) + "] SET F1='" + objEvento.CIUDADSENCE.ToUpper() + "'", oleConn);
        cmd.ExecuteNonQuery();

        objEmpleado = objBfEmpleado.GetEMPLEADO(objpart.RUTEMPLEADO);
                        cmd = new OleDbCommand("UPDATE [Participantes$I" + Convert.ToString(fila) + ":I" + Convert.ToString(fila) + "] SET F1='" + objEmpleado.FECHANACIMIENTO.ToShortDateString() + "'", oleConn);
        cmd.ExecuteNonQuery();

        objNivelEscolaridad = objBfNivelEscolaridad.GetNIVELESCOLARIDAD(objpart.CODNIVELESCOLARIDAD);

        cmd = new OleDbCommand("UPDATE [Participantes$J" + Convert.ToString(fila) + ":J" + Convert.ToString(fila) + "] SET F1='" + objNivelEscolaridad.NOMBRE.ToUpper() + "'", oleConn);
        cmd.ExecuteNonQuery();

        objNivelOcupacional = objBfNIvelOcupacional.GetNIVELOCUPACIONAL(objpart.CODNIVELOCUPACIONAL);

        cmd = new OleDbCommand("UPDATE [Participantes$K" + Convert.ToString(fila) + ":K" + Convert.ToString(fila) + "] SET F1='" + objNivelOcupacional.NOMBRE + "'", oleConn);
        cmd.ExecuteNonQuery();

        cmd = new OleDbCommand("UPDATE [Participantes$L" + Convert.ToString(fila) + ":L" + Convert.ToString(fila) + "] SET F1='" + objpart.FRANQUICIA + "'", oleConn);
        cmd.ExecuteNonQuery();

        cmd = new OleDbCommand("UPDATE [Participantes$M" + Convert.ToString(fila) + ":M" + Convert.ToString(fila) + "] SET F1='" + objpart.EMAIL + "'", oleConn);
        cmd.ExecuteNonQuery();

        cmd = new OleDbCommand("UPDATE [Participantes$N" + Convert.ToString(fila) + ":N" + Convert.ToString(fila) + "] SET F1='" + objpart.NOMBREJEFE + "'", oleConn);
        cmd.ExecuteNonQuery();

        objJefe = objBfEmpleado.GetEMPLEADO(objpart.RUTJEFE);
        cmd = new OleDbCommand("UPDATE [Participantes$O" + Convert.ToString(fila) + ":O" + Convert.ToString(fila) + "] SET F1='" + objJefe.EMAIL + "'", oleConn);
        cmd.ExecuteNonQuery();

        cmd = new OleDbCommand("UPDATE [Participantes$P" + Convert.ToString(fila) + ":P" + Convert.ToString(fila) + "] SET F1='" + objpart.COSTOTOTALVIATICO + "'", oleConn);
        cmd.ExecuteNonQuery();

        cmd = new OleDbCommand("UPDATE [Participantes$Q" + Convert.ToString(fila) + ":Q" + Convert.ToString(fila) + "] SET F1='" + objpart.COSTOTOTALTRASLADO + "'", oleConn);
        cmd.ExecuteNonQuery();

        fila++;
    }
}


oleConn.Close();
    
asked by Cinthiå Brigitte 19.12.2017 в 18:55
source

1 answer

0

Cinthia, his problem is here, he can not connect to Access DB

string strConnnectionOle = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + rutaDescarga + "\" + txtCorrelativo.Text + ".xls" + ";Extended Properties='Excel 8.0;HDR=NO';";

Try to manually enter values without the variables and verify.

I also modified the code a bit, the keyword using is highly recommended for this purpose.

Try also to create new methods and the classes instead have a code as big as this one.

foreach (DataRow dr1 in dtHorarios.Rows)
{
    horarios = horarios + dr1["VALOR"] + "  ";
}

string rutaOriginal = Server.MapPath("~/");
rutaOriginal = rutaOriginal + "include\plantilla\sence.xls";
string nombreArchivo = "sence.xls";
string rutaDescarga_paso;
string rutaDescarga = Server.MapPath("~/");

rutaDescarga_paso = txtCorrelativo.Text + "_" + Convert.ToString(DateTime.Now.Year) + Convert.ToString(DateTime.Now.Month) + Convert.ToString(DateTime.Now.Day) + Convert.ToString(DateTime.Now.Minute) + Convert.ToString(DateTime.Now.Second);
rutaDescarga = rutaDescarga + "include\tmp\" + rutaDescarga_paso;

System.IO.Directory.CreateDirectory(rutaDescarga);

System.IO.File.Copy(rutaOriginal, rutaDescarga + "\" + txtCorrelativo.Text + ".xls");
nombreArchivo = txtCorrelativo.Text + ".xls";

string strConnnectionOle = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + rutaDescarga + "\" + txtCorrelativo.Text + ".xls" + ";Extended Properties='Excel 8.0;HDR=NO';";

using (var oleConn = new OleDbConnection(strConnnectionOle))
{
    oleConn.Open();
    OleDbCommand cmd = new OleDbCommand();
    //cmd.Connection = oleConn;

    cmd = new OleDbCommand("UPDATE [Antecedentes Actividad$C4:C4] SET F1='" + objEvento.NOMBREINTERNO + "'", oleConn);
    cmd.ExecuteNonQuery();

    cmd = new OleDbCommand("UPDATE [Antecedentes Actividad$C5:C5] SET F1='" + objSence.NOMBRE + "'", oleConn);
    cmd.ExecuteNonQuery();

    cmd = new OleDbCommand("UPDATE [Antecedentes Actividad$C6:C6] SET F1='" + objSence.CODIGOSENCE + "'", oleConn);
    cmd.ExecuteNonQuery();

    cmd = new OleDbCommand("UPDATE [Antecedentes Actividad$C7:C7] SET F1='" + objOtec.RAZONSOCIAL + "'", oleConn);
    cmd.ExecuteNonQuery();

    // cmd = new OleDbCommand("UPDATE [Antecedentes Actividad$C8:C8] SET F1='" + objModalidad.NOMMODALIDAD + "'", oleConn);
    // cmd.ExecuteNonQuery();

    cmd = new OleDbCommand("UPDATE [Antecedentes Actividad$C9:C9] SET F1='" + objEvento.HORASSENCE + "'", oleConn);
    cmd.ExecuteNonQuery();

    cmd = new OleDbCommand("UPDATE [Antecedentes Actividad$C10:C10] SET F1='" + objEvento.FECHAINICIOEMP.ToShortDateString() + "'", oleConn);
    cmd.ExecuteNonQuery();

    cmd = new OleDbCommand("UPDATE [Antecedentes Actividad$C11:C11] SET F1='" + objEvento.FECHAFINEMP.ToShortDateString() + "'", oleConn);
    cmd.ExecuteNonQuery();

    cmd = new OleDbCommand("UPDATE [Antecedentes Actividad$C12:C12] SET F1='" + diasclases + "'", oleConn);
    cmd.ExecuteNonQuery();

    cmd = new OleDbCommand("UPDATE [Antecedentes Actividad$C13:C13] SET F1='" + horarios + "'", oleConn);
    cmd.ExecuteNonQuery();

    cmd = new OleDbCommand("UPDATE [Antecedentes Actividad$C14:C14] SET F1='" + objEvento.LUGAREJECUCIONEMP + "'", oleConn);
    cmd.ExecuteNonQuery();

    cmd = new OleDbCommand("UPDATE [Antecedentes Actividad$C15:C15] SET F1='" + objEvento.COSTOTOTAL + "'", oleConn);
    cmd.ExecuteNonQuery();

    int fila = 6;
    ECARGO objCargo = new ECARGO();
    BFCARGO objBFCargo = new BFCARGO();
    EEMPLEADO objEmpleado = new EEMPLEADO();
    EEMPLEADO objJefe = new EEMPLEADO();
    ENIVELESCOLARIDAD objNivelEscolaridad = new ENIVELESCOLARIDAD();
    ENIVELOCUPACIONAL objNivelOcupacional = new ENIVELOCUPACIONAL();
    BFEMPLEADO objBfEmpleado = new BFEMPLEADO();
    BFNIVELESCOLARIDAD objBfNivelEscolaridad = new BFNIVELESCOLARIDAD();
    BFNIVELOCUPACIONAL objBfNIvelOcupacional = new BFNIVELOCUPACIONAL();

    string strin;

    foreach (EPARTICIPANTE objpart in objEvento.PARTICIPANTES)
    {
        if (objpart.CODTIPOALUMNO == 1)
        {
            strin = "UPDATE [Participantes$C" + Convert.ToString(fila) + ":C" + Convert.ToString(fila) + "] SET F1='" + objpart.RUTEMPLEADO + "'";
            cmd = new OleDbCommand("UPDATE [Participantes$C" + Convert.ToString(fila) + ":C" + Convert.ToString(fila) + "] SET F1='" + objpart.RUTEMPLEADO + "'", oleConn);
            cmd.ExecuteNonQuery();

            cmd = new OleDbCommand("UPDATE [Participantes$D" + Convert.ToString(fila) + ":D" + Convert.ToString(fila) + "] SET F1='" + Utiles.digito_verificador(objpart.RUTEMPLEADO) + "'", oleConn);
            cmd.ExecuteNonQuery();

            cmd = new OleDbCommand("UPDATE [Participantes$E" + Convert.ToString(fila) + ":E" + Convert.ToString(fila) + "] SET F1='" + objpart.NOMBRES + " " + objpart.APELLIDOPATERNO + " " + objpart.APELLIDOMATERNO + "'", oleConn);
            cmd.ExecuteNonQuery();

            objCargo = objBFCargo.GetCARGO(objpart.CODCARGO);
            cmd = new OleDbCommand("UPDATE [Participantes$F" + Convert.ToString(fila) + ":F" + Convert.ToString(fila) + "] SET F1='" + objCargo.NOMBRE + "'", oleConn);
            cmd.ExecuteNonQuery();

            cmd = new OleDbCommand("UPDATE [Participantes$G" + Convert.ToString(fila) + ":G" + Convert.ToString(fila) + "] SET F1='" + objEvento.CIUDADSENCE.ToUpper() + "'", oleConn);
            cmd.ExecuteNonQuery();

            cmd = new OleDbCommand("UPDATE [Participantes$H" + Convert.ToString(fila) + ":H" + Convert.ToString(fila) + "] SET F1='" + objEvento.CIUDADSENCE.ToUpper() + "'", oleConn);
            cmd.ExecuteNonQuery();

            objEmpleado = objBfEmpleado.GetEMPLEADO(objpart.RUTEMPLEADO);
            cmd = new OleDbCommand("UPDATE [Participantes$I" + Convert.ToString(fila) + ":I" + Convert.ToString(fila) + "] SET F1='" + objEmpleado.FECHANACIMIENTO.ToShortDateString() + "'", oleConn);
            cmd.ExecuteNonQuery();

            objNivelEscolaridad = objBfNivelEscolaridad.GetNIVELESCOLARIDAD(objpart.CODNIVELESCOLARIDAD);

            cmd = new OleDbCommand("UPDATE [Participantes$J" + Convert.ToString(fila) + ":J" + Convert.ToString(fila) + "] SET F1='" + objNivelEscolaridad.NOMBRE.ToUpper() + "'", oleConn);
            cmd.ExecuteNonQuery();

            objNivelOcupacional = objBfNIvelOcupacional.GetNIVELOCUPACIONAL(objpart.CODNIVELOCUPACIONAL);

            cmd = new OleDbCommand("UPDATE [Participantes$K" + Convert.ToString(fila) + ":K" + Convert.ToString(fila) + "] SET F1='" + objNivelOcupacional.NOMBRE + "'", oleConn);
            cmd.ExecuteNonQuery();

            cmd = new OleDbCommand("UPDATE [Participantes$L" + Convert.ToString(fila) + ":L" + Convert.ToString(fila) + "] SET F1='" + objpart.FRANQUICIA + "'", oleConn);
            cmd.ExecuteNonQuery();

            cmd = new OleDbCommand("UPDATE [Participantes$M" + Convert.ToString(fila) + ":M" + Convert.ToString(fila) + "] SET F1='" + objpart.EMAIL + "'", oleConn);
            cmd.ExecuteNonQuery();

            cmd = new OleDbCommand("UPDATE [Participantes$N" + Convert.ToString(fila) + ":N" + Convert.ToString(fila) + "] SET F1='" + objpart.NOMBREJEFE + "'", oleConn);
            cmd.ExecuteNonQuery();

            objJefe = objBfEmpleado.GetEMPLEADO(objpart.RUTJEFE);
            cmd = new OleDbCommand("UPDATE [Participantes$O" + Convert.ToString(fila) + ":O" + Convert.ToString(fila) + "] SET F1='" + objJefe.EMAIL + "'", oleConn);
            cmd.ExecuteNonQuery();

            cmd = new OleDbCommand("UPDATE [Participantes$P" + Convert.ToString(fila) + ":P" + Convert.ToString(fila) + "] SET F1='" + objpart.COSTOTOTALVIATICO + "'", oleConn);
            cmd.ExecuteNonQuery();

            cmd = new OleDbCommand("UPDATE [Participantes$Q" + Convert.ToString(fila) + ":Q" + Convert.ToString(fila) + "] SET F1='" + objpart.COSTOTOTALTRASLADO + "'", oleConn);
            cmd.ExecuteNonQuery();

            fila++;
        }
    }
}
    
answered by 20.12.2017 в 19:30