Ver Mensaje Individual
  #6 (permalink)  
Antiguo 27/12/2013, 13:26
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Duda respecto a consulta por fechas con DateTimePicker VB2008

Ahora se entiende un poco mejor. Siempre es preferible que postees los códigos sin abreviarlos, porque de lo contrario no podemos ver lo que realmente estás haciendo.
Bueno, estás usando la clase SqlCommand, y esta tiene una propiedad denominada Paremeters, que se usa para lo que te digo: insertar directamente los datos en su formato nativo, con lo cual no tienes que hacer ninguna conversión que pueda acusar errores si no está correctamente hecha.
En el manual de referencia on-line tendrás un claro ejemplo del uso de los parametros en un objeto SqlCommand: http://msdn.microsoft.com/es-es/libr...code-snippet-1

Este es el ejemplo que tiene esa págica, como para que lo vayas viendo:
Código vb:
Ver original
  1. Private Sub UpdateDemographics(ByVal customerID As Integer, _
  2.     ByVal demoXml As String, _
  3.     ByVal connectionString As String)
  4.  
  5.     ' Update the demographics for a store, which is stored
  6.    ' in an xml column.
  7.    Dim commandText As String = _
  8.      "UPDATE Sales.Store SET Demographics = @demographics " _
  9.      & "WHERE CustomerID = @ID;"
  10.  
  11.     Using connection As New SqlConnection(connectionString)
  12.         Dim command As New SqlCommand(commandText, connection)
  13.  
  14.         ' Add CustomerID parameter for WHERE clause.
  15.        command.Parameters.Add("@ID", SqlDbType.Int)
  16.         command.Parameters("@ID").Value = customerID
  17.  
  18.         ' Use AddWithValue to assign Demographics.
  19.        ' SQL Server will implicitly convert strings into XML.
  20.        command.Parameters.AddWithValue("@demographics", demoXml)
  21.  
  22.         Try
  23.             connection.Open()
  24.             Dim rowsAffected As Integer = command.ExecuteNonQuery()
  25.             Console.WriteLine("RowsAffected: {0}", rowsAffected)
  26.  
  27.         Catch ex As Exception
  28.             Console.WriteLine(ex.Message)
  29.         End Try
  30.     End Using
  31. End Sub
En este caso lo único que debes hacer es insertar en donde van los parámetros la propiedad Value del DateTimePicker (ver manual de referencia también: http://msdn.microsoft.com/en-us/libr...vs.110%29.aspx)
Fuera de eso, siempre conviene hacer una prueba manual en la base de datos con la consulta real, y con datos reales, a fin de depurar los aspectos del SQL. Te lo recomiendo. En esencia es escribir en la interfaz de SQL Server la query tal y como la usarás en la aplicación, reemplazando los parámetros por valores reales y probar que no falle.
Recién después de esa prueba (o las correcciones necesarias), la copias y la usas en el programa.

Respecto a las limitaciones del GROUP BY, también es mejor consultar el manual de referencia antes que nada: http://technet.microsoft.com/es-es/l.../ms177673.aspx
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)