Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Error "Invalid field Type" entre Delphi 2007 y Firebird 1.5 (https://www.clubdelphi.com/foros/showthread.php?t=51639)

saltamirano 21-12-2007 17:42:29

Error "Invalid field Type" entre Delphi 2007 y Firebird 1.5
 
Feliz navidad Compas,
Les comento soy principiante en utilizar la herramienta Delphi 2007 con base de datos Firebird y administrador de Base de Datos IBExpert, nose si me puedan dar una guía por favor.

1.- Mi conexión para recuperar datos desde la base es a través de BDE, al conectar con TTable a una tabla que tiene campos de tipo Date, se muestra Invalid field Type; si quito estos campos de tipo Date, la conexión se vuelve Active = True. La idea es que quiero utilizar el DateTimePicker y poder guardar tanto la fecha y hora en que se registra la fecha.

PREGUNTA: Esta incompatibilidad de datos se referirá al TTable, que no soporta datos Date? Qué tipo de datos es recomendable guardar en la base de datos cuando se use campos para fecha o time?. Uso el siguiente código:

procedure TForm_Cliente.DateTimePicker1Click(Sender: TObject);
var dMiFecha : TDate;
begin
dMiFecha:=DateTimePicker1.Date;
self.Query_FecNac.Close;
self.Query_FecNac.ParamByName('fecha').AsDate := dMiFecha;
self.Query_FecNac.Open;
end;

Cómo haría para insertar la fecha en mi base de datos a través del Query?

2.- BDE tiene soporte actualmente? Qué es mejor usar actualmente BDE o DBExpress.:rolleyes:

3.- El tipo de dato se guarda en el campo con puntos separados, algo así como: 12.08.2007, pero al ingresar el dato se presenta el campo como: / /, esto me parece es cuestión del IBExpert.

PREGUNTA: Cómo podría saber con que tipo de dato mismo está guardandose en la base de datos?:mad:

Mil gracias por su atención a este e-mail y disculpen las molestias.

jachguate 21-12-2007 20:51:37

Hola, saltamirano. ¡Muchas preguntas para un solo hilo!.

Cita:

Empezado por saltamirano (Mensaje 253968)
1.- Mi conexión ... es a través de BDE, ...TTable a una tabla que tiene campos de tipo Date, se muestra Invalid field Type; ... quiero utilizar el DateTimePicker y poder guardar tanto la fecha y hora en que se registra la fecha.

El campo tipo Date de firebird solamente almacena fechas. Para almacenar Fecha y Hora usa el tipo Timesamp.
Cita:

Empezado por saltamirano (Mensaje 253968)
PREGUNTA: Esta incompatibilidad de datos se referirá al TTable, que no soporta datos Date?

Efectivamente. Quizás no lo sabes, pero BDE está marcado como obsoleto hace varios años... y no sufre actualizaciones. En aquellos tiempos (de interbase 5.5), el único tipo de datos tipo fecha era el Date, que es equivalente a lo que ahora es el tipo Timestamp. A partir de firebird 1.0 o de Interbase 6 (no logro recordar exactamente) eso ha cambiado.

Cita:

Empezado por saltamirano (Mensaje 253968)
Cómo haría para insertar la fecha en mi base de datos a través del Query?

Código SQL [-]
Insert into nombre_tabla (fecha) values (:fecha);
Código Delphi [-]
  Query1.ParamByName('fecha').AsDateTime := now;

Cita:

Empezado por saltamirano (Mensaje 253968)
2.- BDE tiene soporte actualmente? Qué es mejor usar actualmente BDE o DBExpress.:rolleyes:

Esto ha quedado aclarado arriba.

Cita:

Empezado por saltamirano (Mensaje 253968)
esto me parece es cuestión del IBExpert.

efectivamente.

Cita:

Empezado por saltamirano (Mensaje 253968)
Cómo podría saber con que tipo de dato mismo está guardandose en la base de datos?

Si vos creaste las tablas... no creo que te quede duda... y podes confiar en que firebird no cambiará el tipo de dato por arte de magia.. :D

Si no la has creado vos, podes valerte del comando "show table" de isql para obtener la estructura. Estoy seguro que IBExpert también te muestra la misma si das doble clic sobre el nombre de la tabla en el árbol principal.


Cita:

Empezado por saltamirano (Mensaje 253968)
Mil gracias por su atención a este e-mail y disculpen las molestias.

No es molestia... tampoco es email.. :D

Hasta luego.

;)

david_uh 24-12-2007 23:38:07

jajaja... todas las preguntas contestadas ...


La franja horaria es GMT +2. Ahora son las 17:06:56.

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