Foros del Web » Programando para Internet » ASPX (.net) »

No me ejecuta el metodo

Estas en el tema de No me ejecuta el metodo en el foro de ASPX (.net) en Foros del Web. Buenos dias, Tengo una clase llamada SQL el cual tiene el siguiente método: Código: public void IngresoLector(string RutaIngreso) { SqlConnection con = new SqlConnection(m_CadenaConexion); con.Open(); ...
  #1 (permalink)  
Antiguo 28/11/2008, 10:24
 
Fecha de Ingreso: agosto-2008
Ubicación: Medellín
Mensajes: 20
Antigüedad: 15 años, 8 meses
Puntos: 0
No me ejecuta el metodo

Buenos dias,

Tengo una clase llamada SQL el cual tiene el siguiente método:

Código:
 public void IngresoLector(string RutaIngreso)
        {
            SqlConnection con = new SqlConnection(m_CadenaConexion);
            con.Open();
            SqlCommand command = new SqlCommand("Create table Temporal (CodigoAcceso nchar(10))", con);
            SqlCommand command1 = new SqlCommand("BULK INSERT Temporal FROM '" + RutaIngreso + "' ", con);
            SqlCommand command2 = new SqlCommand("INSERT into IngresoLector (IDEjemplar) Select IDEjemplar from Ejemplares E, Temporal tem where E.CodigoAcceso = tem.CodigoAcceso COLLATE Modern_Spanish_CI_AS", con);
            SqlCommand command4 = new SqlCommand("set ansi_nulls off", con);
            SqlCommand command3 = new SqlCommand("update IngresoLector SET  FechaConsulta = getdate() WHERE FechaConsulta = NULL;", con);
            SqlCommand command5 = new SqlCommand("drop table Temporal", con);
            command.ExecuteNonQuery();
            command1.ExecuteNonQuery();
            command2.ExecuteNonQuery();
            command4.ExecuteNonQuery();
            command3.ExecuteNonQuery();
            command5.ExecuteNonQuery();
            con.Close();
                
        }
y en el metodo del click del boton cuando me haga clic en el ejecute esas sentencias en mi base de datos, tengo el siguiente codigo en el metodo sub click
Código:
 protected void Button1_Click(object sender, EventArgs e)
    {
        SQL ingreso = new SQL(); // creo la instancia de la clase SQL
             
        if ((flimage.PostedFile != null) && (flimage.PostedFile.ContentLength > 0))
        {
            if (flimage.Value.EndsWith(".dat"))
            {
                if (flimage.PostedFile.ContentLength <= 50000)
                {
                    string fn = System.IO.Path.GetFileName(flimage.PostedFile.FileName);
                    string SaveLocation = Server.MapPath(@"~\Temporal") + "\\" + fn;
                    try
                    {

                        this.Label1.Text = "El archivo se ha cargado.";
                        this.lblmessage.Text = "";
                        flimage.PostedFile.SaveAs(SaveLocation);
                        ingreso.IngresoLector(SaveLocation); // aqui debe de ejecutar en la base de datos
                     
                        // this.lblmessage.Text = "El archivo se ha cargado.";
                    }
                    catch (Exception ex)
                    {
                        Response.Write(ex.Message);

                    }
                }
                else
                   
                    this.Label1.Text = "El tamaño del archivo debe ser menor a 50kbs";

            }
            else
                
                this.lblmessage.Text = "No se pudo cargar el archivo seleccionado, por favor seleccione una imagen .jpg, .gif o .png";
        }
        else
        {
            
            this.lblmessage.Text = "Seleccione un archivo que cargar.";
        }

    }
pero no me ejecuta en la base de datos.
hay algun error?
Muchas Gracias cualquier ayuda.
  #2 (permalink)  
Antiguo 28/11/2008, 11:08
 
Fecha de Ingreso: agosto-2008
Ubicación: Medellín
Mensajes: 20
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: No me ejecuta el metodo

pero cuando pongo directamente el codigo en el método del boton si me funciona.
Código:
SqlConnection con = new SqlConnection("Data Source=Server;Initial Catalog=BaseDatos;User ID=sa;Password=123");

 protected void Button1_Click(object sender, EventArgs e)
    {
       
             
        if ((flimage.PostedFile != null) && (flimage.PostedFile.ContentLength > 0))
        {
            if (flimage.Value.EndsWith(".dat"))
            {
                if (flimage.PostedFile.ContentLength <= 50000)
                {
                    string fn = System.IO.Path.GetFileName(flimage.PostedFile.FileName);
                    string SaveLocation = Server.MapPath(@"~\Temporal") + "\\" + fn;
                    try
                    {

                        this.Label1.Text = "El archivo se ha cargado.";
                        this.lblmessage.Text = "";
                        flimage.PostedFile.SaveAs(SaveLocation);
                        con.Open();
                         SqlCommand command = new SqlCommand("Create table Temporal (CodigoAcceso nchar(10))", con);
                         SqlCommand command1 = new SqlCommand("BULK INSERT Temporal FROM '" + SaveLocation + "' ", con);
                         SqlCommand command2 = new SqlCommand("INSERT into IngresoLector (IDEjemplar) Select IDEjemplar from Ejemplares E, Temporal tem where E.CodigoAcceso = tem.CodigoAcceso COLLATE Modern_Spanish_CI_AS", con);
                         SqlCommand command4 = new SqlCommand("set ansi_nulls off", con);
                         SqlCommand command3 = new SqlCommand("update IngresoLector SET  FechaConsulta = getdate() WHERE FechaConsulta = NULL;", con);
                         SqlCommand command5 = new SqlCommand("drop table Temporal", con);
                         command.ExecuteNonQuery();
                         command1.ExecuteNonQuery();
                         command2.ExecuteNonQuery();
                         command4.ExecuteNonQuery();
                         command3.ExecuteNonQuery();
                         command5.ExecuteNonQuery();
                         con.Close();
                     
                        // this.lblmessage.Text = "El archivo se ha cargado.";
                    }
                    catch (Exception ex)
                    {
                        Response.Write(ex.Message);

                    }
                }
                else
                   
                    this.Label1.Text = "El tamaño del archivo debe ser menor a 50kbs";

            }
            else
                
                this.lblmessage.Text = "No se pudo cargar el archivo seleccionado, por favor seleccione una imagen .jpg, .gif o .png";
        }
        else
        {
            
            this.lblmessage.Text = "Seleccione un archivo que cargar.";
        }

    }
 }
Muchas gracias cualquier ayuda
  #3 (permalink)  
Antiguo 28/11/2008, 11:25
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: No me ejecuta el metodo

te marca algun error o simplemente no hace nada , no sera porq no reconoce el valor de

m_CadenaConexion

donde lo inicializas en tu clase sql en el constructor (espero que asi sea)???
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #4 (permalink)  
Antiguo 28/11/2008, 12:39
 
Fecha de Ingreso: agosto-2008
Ubicación: Medellín
Mensajes: 20
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: No me ejecuta el metodo

si efectivamente, no hace nada.

no marca ningun error. pero no ejecuta las instrucciones.

Revisare mejor esa cadena que ahi puede estar el problema.

saludos y muchas gracias
  #5 (permalink)  
Antiguo 28/11/2008, 15:07
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: No me ejecuta el metodo

Siempre es bueno poner este tipo de métodos entre las etiquetas try-catch, así puedes determinar qué tipo de error está marcando...

try
{
//Todo tu código
}
catch (Exception ex)
{
Error = ex.ToString();
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:26.