Visual Basic.NET - Ayuda urgente

   
Vista:

Ayuda urgente

Publicado por Arena (30 intervenciones) el 10/12/2008 18:38:10
Hola a todos tengo un problema con un reporte en crystal con un campo llamado EGRESO que es de tipo fecha este lo utilizo para realizar busquedas entre rangos de fechas por ejemplo si quiero todos los egresos que estan entre las fechas que van desde el 15/10/2008 hasta 30/11/2008 el codigo que uso es el siguiente:

Uso dos cajas de tento en donde introduzco los rangos de fechas y cuando doy clic al boton buscar me da el siguiente errorrrr.

Error al conectarte
The conversion of a char data type resulted in an out - of - range datatime value.
Net SqlClient Data provider, pueden decirme donde esta mi error

Private Sub BUSCAR_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BUSCAR.Click
Try
Me.oConexion = New SqlConnection
oConexion.ConnectionString = conexion

Me.oDataAdapter = New SqlDataAdapter _
("Select * From VISTA_LISTADO_LIQUIDACION WHERE EGRESO BETWEEN '" '+ txtesde.Text + "' AND '" + txtHasta.Text + "'", oConexion)
Me.oDataSet = New DataSet

oConexion.Open()
Me.oDataAdapter.Fill(Me.oDataSet, "VISTA_LISTADO_LIQUIDACION")
oConexion.Close()
oRpt.SetDataSource(oDataSet)

CrystalReportViewer1.ReportSource = oRpt

Catch oexcep As SqlException
MessageBox.Show("Error al conectarte" & ControlChars.CrLf & oexcep.Message & ControlChars.CrLf & oexcep.Source())
End Try
End Sub

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda urgente

Publicado por P. J. (706 intervenciones) el 10/12/2008 19:59:01
Uhmmm,

Seguro es por el formato, el sql estara tomando el primer valor como MES el segundo el DIA y sgte el año.

Puedes solucionarlo con la funcion FORMAT al enviarlo en la consulta, prueba:

"Select * From VISTA_LISTADO_LIQUIDACION WHERE EGRESO BETWEEN '" '+ format(txtesde.Text,"MMddyyyy")+ "' AND '" + format(txtHasta.Text,"MMddyyyy") + "'"

Tambien puedes probar el formato yyyyMMdd ya que es el standard

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar