Foros del Web » Programación para mayores de 30 ;) » .NET »

SQL parte cabeza

Estas en el tema de SQL parte cabeza en el foro de .NET en Foros del Web. Utilizo el codigo que os dejo para ver si duplico el índice de una tabla en la BD. Lo increible es que las fechas con ...
  #1 (permalink)  
Antiguo 26/07/2004, 03:41
 
Fecha de Ingreso: julio-2004
Mensajes: 10
Antigüedad: 19 años, 9 meses
Puntos: 0
SQL parte cabeza

Utilizo el codigo que os dejo para ver si duplico el índice de una tabla en la BD. Lo increible es que las fechas con días de dos dígitos las recupera sin problemas pero cuando es de un dígito (ej. 01/12/2004) no se entera.

Dim odsindice As DataSet
Dim odaindice As OleDb.OleDbDataAdapter
MsgBox(Format(MCfaltas.SelectionStart, "dd/MM/yyyy"))
odaindice = New OleDb.OleDbDataAdapter("select * from faltasalumno where dnialumno='" + txtdnialum.Text + "' and faltas=#" + Format(MCfaltas.SelectionStart, "dd/MM/yyyy") + "#", ocon)
odsindice = New DataSet()
odaindice.Fill(odsindice, "faltasalumno")
MsgBox(odsindice.Tables("faltasalumno").Rows.Count )

Como veis ni utilizando formateo de fecha va. Os a pasado?? Ayudadmeee

Gracias.
  #2 (permalink)  
Antiguo 26/07/2004, 08:24
 
Fecha de Ingreso: junio-2001
Ubicación: Cordoba, Argentina
Mensajes: 190
Antigüedad: 22 años, 11 meses
Puntos: 0
puede ser que el idioma este diferente entre la bd y la aplicacion, el mes es dia y el dia es mes, por eso con digitos (mas de 12) no ande o no filtre.

De todas maneras es mejor usar parametros para aislar el tema del idioma, es mejor pasar la fecha como parametro datetime ya que usa la fecha interna y no un texto con formato, si cambias el idioma de alguno de los dos es independiente.

seria algo asi

Dim odsindice As DataSet
Dim odaindice As OleDb.OleDbDataAdapter
Dim cmd As New OleDbCommand

Dim par As New OleDbParameter

par.DbType = DbType.DateTime
par.Value = CType(MCfaltas.SelectionStart, DateTime)
cmd.CommandText = "select * from faltasalumno where dnialumno='" + txtdnialum.Text + "' and faltas=?"
cmd.Parameters.Add(par)
cmd.CommandType = CommandType.Text

odaindice = New OleDb.OleDbDataAdapter
odaindice.SelectCommand = cmd

odsindice = New DataSet
odaindice.Fill(odsindice, "faltasalumno")
MsgBox(odsindice.Tables("faltasalumno").Rows.Count )
__________________
Martin

Última edición por MartinAcevedo; 26/07/2004 a las 08:26
  #3 (permalink)  
Antiguo 26/07/2004, 08:46
 
Fecha de Ingreso: julio-2004
Mensajes: 10
Antigüedad: 19 años, 9 meses
Puntos: 0
Perfecto. Funciona. muchisimas gracias.
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 16:15.