none
[Problema]Con DataTable RRS feed

  • Pregunta

  • Hola, estoy teniendo un problema con la propiedad Datasource de un Datagridview.

    Using cnn As New SqlConnection("ruta a BD")
                cnn.Open()
                Dim cmd As New SqlCommand("sp_CargaSalida", cnn)
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Parameters.AddWithValue("@FechaEntrada", FechaActual)
                Dim da As New SqlDataAdapter(cmd)
                Dim dt As New DataTable
                da.Fill(dt)
                DatosSalidaDG.DataSource = dt
            End Using
    utilice el punto de interrupcion y todo va bien hasta que llega al da.fill(dt) y clava ahi y no sigue, por lo cual el DatosSalidaDG.Datasource = dt no llega a ejecutarse. Antes me funcionaba, alguna sugerencia de donde puede estar viniendo el error? Gracias..

    jueves, 14 de marzo de 2013 12:29

Respuestas

  • Leandro, lo puse en un try y me tira error: error al convertir el tipo de datos nvarchar a datetime.

    La consulta es esta:

    Select Empleados.ID,Nombre,Apellido From Empleados Inner Join Detalle_Empleados ON Empleados.ID=Detalle_Empleados.IDEmpleado Where Tipo='E' and convert(varchar(50),FechaEntrada,111)=@FechaEntrada


    en el codigo de arriba me olvide de colocar que convierto la fecha en el formato:

    Dim FechaActual As String = Format(Date.Today, "yyyy/MM/dd")

    Pasale la fecha con este formato: yyyyMMdd (sin barras, ni guiones, ni nada)

    Y sinó pasa el tipo de dato a DateTime, y trabaja con este tipo de dato que no vas a tener inconvenientes.

    Se da bastante que hay un problema con la configuracion regional, pero si usas un estándar como el formato que te digo, no creo que tengas problemas.

    yyyyMMdd equivale al formato obtenido de convert(varchar(8),getdate(),112)


    Jose Sebastian Garcia


    • Propuesto como respuesta JoGaSe viernes, 15 de marzo de 2013 11:49
    • Editado JoGaSe viernes, 15 de marzo de 2013 11:51
    • Marcado como respuesta Omar Ortiz viernes, 15 de marzo de 2013 16:38
    viernes, 15 de marzo de 2013 11:49

Todas las respuestas

  • que seria eso que clave ? se produce algun error ?

    porque solo detenerse alli lo veo extraño

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 14 de marzo de 2013 12:48
  • que seria eso que clave ? se produce algun error ?

    porque solo detenerse alli lo veo extraño

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    Me parece que no saco el punto de interrupcion del costado y el programa al ejecutarlo se detiene donde el "punto rojo".

    Jose Sebastian Garcia

    jueves, 14 de marzo de 2013 13:57
  • Hola, No se produce ningún error... el punto de interrupcion lo coloco cuando comienza al using, hace todas instrucciones bien pero cuando llega al DatosSalidaDG.Datasource = dt  no la ejecuta la instrucción y es como que la salta. Es por eso que no se me carga el DataGrid no se que le pasa!! Antes me funcionaba asi tal cual!! 


    jueves, 14 de marzo de 2013 14:25
  • Tendrás a mano un print screen?

    Jose Sebastian Garcia

    jueves, 14 de marzo de 2013 14:41
  • Si es como vos decís que se detiene en Fill (y yo agrego) se marca en amarillo o en verde.

    Revisa tu procedimiento almacenado con los parametros que debas pasarle (identicos a como lo haria tu programa) y fijate si falla.

    Revisa los parametros que sean correctos. Que si se llama @asd en el VB tambien sea @asd


    Jose Sebastian Garcia

    jueves, 14 de marzo de 2013 14:46
  • Hola, se marca en amarillo. En cuanto al procedimiento lo ejecuto desde el managment studio y se ejecuta bien la consulta, osea obtengo los resultados. Pero no me lo carga en el datagridview..
    jueves, 14 de marzo de 2013 14:52
  • sigo si entender eso que salta, lo cual no es normal

    que pasa si ese codigo lo pones en un bloque try...catch, puede carpturar algun mensaje de error ?


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 14 de marzo de 2013 14:57
  • Hola, se marca en amarillo. En cuanto al procedimiento lo ejecuto desde el managment studio y se ejecuta bien la consulta, osea obtengo los resultados. Pero no me lo carga en el datagridview..
    Hace clic en el signito + que te aparezca de la excepcion y decinos que dice en Message y en InnerMessage si lo hay

    Jose Sebastian Garcia

    jueves, 14 de marzo de 2013 15:00
  • Leandro, lo puse en un try y me tira error: error al convertir el tipo de datos nvarchar a datetime.

    La consulta es esta:

    Select Empleados.ID,Nombre,Apellido From Empleados Inner Join Detalle_Empleados ON Empleados.ID=Detalle_Empleados.IDEmpleado Where Tipo='E' and convert(varchar(50),FechaEntrada,111)=@FechaEntrada


    en el codigo de arriba me olvide de colocar que convierto la fecha en el formato:

    Dim FechaActual As String = Format(Date.Today, "yyyy/MM/dd")

    • Editado WFgo jueves, 14 de marzo de 2013 15:28
    • Propuesto como respuesta JoGaSe viernes, 15 de marzo de 2013 11:47
    • Votado como útil JoGaSe viernes, 15 de marzo de 2013 11:47
    jueves, 14 de marzo de 2013 15:27
  • Leandro, lo puse en un try y me tira error: error al convertir el tipo de datos nvarchar a datetime.

    La consulta es esta:

    Select Empleados.ID,Nombre,Apellido From Empleados Inner Join Detalle_Empleados ON Empleados.ID=Detalle_Empleados.IDEmpleado Where Tipo='E' and convert(varchar(50),FechaEntrada,111)=@FechaEntrada


    en el codigo de arriba me olvide de colocar que convierto la fecha en el formato:

    Dim FechaActual As String = Format(Date.Today, "yyyy/MM/dd")

    Pasale la fecha con este formato: yyyyMMdd (sin barras, ni guiones, ni nada)

    Y sinó pasa el tipo de dato a DateTime, y trabaja con este tipo de dato que no vas a tener inconvenientes.

    Se da bastante que hay un problema con la configuracion regional, pero si usas un estándar como el formato que te digo, no creo que tengas problemas.

    yyyyMMdd equivale al formato obtenido de convert(varchar(8),getdate(),112)


    Jose Sebastian Garcia


    • Propuesto como respuesta JoGaSe viernes, 15 de marzo de 2013 11:49
    • Editado JoGaSe viernes, 15 de marzo de 2013 11:51
    • Marcado como respuesta Omar Ortiz viernes, 15 de marzo de 2013 16:38
    viernes, 15 de marzo de 2013 11:49
  • Hola JoGaSe, el problema ya lo resolví (igual no se que paso)

    Lo que hice fue, borre el procedimiento almacenado y declare una variable en el código de consulta en la cual puse la misma consulta que estaba en el procedimiento almacenado, me funciono correctamente. Raro no? jaj Lo de la fecha actual el formato estaba bien, por que ademas ese formato lo utilizo en otras partes del código y estaba bien. Saludos

    viernes, 15 de marzo de 2013 16:12