Visual Basic.NET - delete

 
Vista:

delete

Publicado por s_miguel (68 intervenciones) el 24/11/2005 09:33:56
Hola necesito vuestra ayuda quiero borrar los datos de una tabla que sean mas antiguos de una fecha y yo pongo esto: Delete from tabla where fecha <= & " fecha_borrar pero no me da ningun error pero tampoco lo borra porque puede ser?.

Muchas 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:delete

Publicado por thessen (298 intervenciones) el 24/11/2005 09:40:10
Ten cuidado con los formatos de las fechas, que suelen dar bastantes problemas.
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

RE:delete

Publicado por s_miguel (68 intervenciones) el 24/11/2005 10:39:24
Hola el formato si que es el correcto porque si yo hago un select y saco el campo fecha y lo comparo con la fecha que tengo en la variable por el cual filtro me lo hace bien.
Es que no se que puede ser me estoy volviendo loca.
Gracias
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

RE:delete

Publicado por thessen (298 intervenciones) el 24/11/2005 11:43:43
Si puedes, pon el codigo que utilizas. Asi será mas facil ayudarte
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

RE:delete

Publicado por s_miguel (68 intervenciones) el 25/11/2005 08:54:50
El codigo es este :

inter = DateInterval.Month
meses = -6
fecha_borrar = (DateAdd(inter, meses, Now))
fecha_borrar = Format(fecha_borrar, "dd/MM/yyyy")

sssql = "select * from salidas where fecha <= " & fecha_borrar & ""

Dim comando5 As New OleDbCommand(sssql, Conexion)
comando5.ExecuteNonQuery()
lectura = comando5.ExecuteReader
i = 0
While lectura.Read

donde inter es un objeto de tipo dateinterval. Tambien lo probe con esta select :
sssql = "select * from salidas where fecha <= '" & fecha_borrar & "'"
Poniendo comillas simples.

Y eso no me funciona no da ningun error pero no lee ninguno aunque haya.

Pero si pongo esto otro funciona perfectamente:

inter = DateInterval.Month
meses = -6
fecha_borrar = (DateAdd(inter, meses, Now))
fecha_borrar = Format(fecha_borrar, "dd/MM/yyyy")

sssql = "select * from salidas "

Dim comando5 As New OleDbCommand(sssql, Conexion)
comando5.ExecuteNonQuery()
lectura = comando5.ExecuteReader
i = 0
While lectura.Read
if lectura.fecha <= fecha_borrar then
'Y si que entra
end if
end while

Muchas gracias por tomarte la molestia
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

RE:delete

Publicado por thessen (298 intervenciones) el 25/11/2005 09:49:59
Prueba con esto :

meses = -6
cFecha = Date.Now.AddMonths(meses).ToString("dd/MM/yyyy")

sssql = "select * from salidas where fecha <= '" & cFecha & "'"

Donde meses es numérico y cFecha cadena.

Creo que el problema lo tienes en

fecha_borrar = Format(fecha_borrar, "dd/MM/yyyy")

ya que la instrucción format devuelve un string pero fecha_borrar sigue siendo de tipo Date, por lo que no te cogerá el formato.
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

RE:delete

Publicado por s_miguel (68 intervenciones) el 25/11/2005 10:48:15
Hola de nuevo ya me salio muchas gracias ghice lo que tu dijiste y en el select puse :

sssql = "select * from salidas where fecha <= #'" & cFecha & "#'"

Muchas gracias por tu ayuda
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