Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-01-2006
uper uper is offline
Miembro
 
Registrado: abr 2004
Posts: 296
Poder: 21
uper Va por buen camino
convertir fecha en la senetencia sql..

hola todos

tengo una duda del sql para ingresar fechas a interbase, el formato que usa es 'aa/mm/dd' y he extraido los datos que voy a ingresar por sentencias sql, INSERT INTO "MOV_STOCK" ("MOVS_ID", "MOVS_STOCK_ID", "MOVS_FECHA_REG", "MOVS_TIPO_MOV") VALUES (1, 752, '22/09/04', 'E');
bueno no he podido resolverlo de que deba de cambiar la fecha 22/09/04 por esta que asi lo acepta el interbase '04/09/22'

No se si se pueda agregar alguna funcion a la fecha para que la acepte el sql de la b.d. debido a esto, he tenido que pasarlo a un editor de texto y buscar la fecha y remplazar por la correcta, es posible hacer esto. en le ibconsole da un error de conversion de datos por que no acepta la fecha como he extraido el datos sino que lo tengo que cambiar el formato.

gracias, conocen alguna manera.
Responder Con Cita
  #2  
Antiguo 01-02-2006
cuburu cuburu is offline
Miembro
 
Registrado: mar 2005
Posts: 63
Poder: 20
cuburu Va por buen camino
Ami me pasaba lo mismo, yo hice un procedimiento en la Base de Datos Firebird que son muy similares y cuando le intentaba enviar la fecha me mandaba un error a consecuencia de ello, lo que hice fue en lugar de enviar un campo tipo date enviaba un dato tipo char(10) despúes en el procedimiento hacia lo conversión. Hice algo como esto

Procedimiento

Código:
create procedure actualiza(fecha char(10),
                                     nombre varchar(15),
                                     apellidos varchar(20),
                                     edad integer)
as
declare variable FECH date;
begin
  FECH = :fecha;
  insert into tabla(fecha_tbl, nombre_tbl, apellidos_tbl)
  values(:fecha, :nombre, :apellidos);
end
y en delphi hago algo como esto:

Código Delphi [-]
var
  Inserta: TQuery;
begin
  Inserta := TQuery.Create(nil);
  try
    with Inserta do
    begin
      Close;
      SQL.Clear;
      //Consulto el procedimiento con un simple SELECT *
      SQL.Add('SELECT * FROM actualiza(:FECHA, :NOMBRE, :APELLIDOS)');
      ParamByName('FECHA').asString := DateToStr(FormatDateTime('dd"/"mm"/"aaaa', StrToDate(Edit1.Text)));
      ParamByName('NOMBRE').asString := Edit2.Text;
      ParamByName('APELLIDOS').asString := Edit3.Text;
      Open;
    end;
  finally
    Inserta.Free;
  end;
end;

Como te daras cuenta, envío el formato que ya se que es el que maneja la BD, eso crea dependencia a que el formato que maneja la BD nunca cambie pero me sirve por el momento hasta encontrar una solución.

También dejo la conversión del valor tipo char que envío al procedimiento para que la asigne a una varable y haga las conversiones pertinentes.

Espero te serva de algo esto... nos vemos.
Responder Con Cita
  #3  
Antiguo 01-02-2006
uper uper is offline
Miembro
 
Registrado: abr 2004
Posts: 296
Poder: 21
uper Va por buen camino
OK, voy a intentar con esta solucion cuburu, encontre que era tan simple que modifique el formato del panel de control del s.o. de dd/mm/aa a este aaaa/mm/dd y listo cuando extraigo el dato me da el formato que quiero para usarlo en la base.

muchas gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
convertir una fecha dd/mm/aaaa en literal hochkofler SQL 9 15-11-2005 16:37:47
Convertir texto a fecha magm2000 SQL 2 11-10-2005 16:22:40
como hacer consulta SQL con fecha usando Between MaSSaKKre SQL 4 15-09-2005 03:28:26
Convertir fecha en entero... zorro Varios 1 20-03-2005 10:37:21
como extraer la el año de una fecha en un sentencia SQL? viajero2015 SQL 5 06-01-2005 21:25:21


La franja horaria es GMT +2. Ahora son las 10:37:03.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi