PDA

Ver la Versión Completa : Error al tratar de obtener la fecha desde el servidor


ilichhernandez
14-11-2007, 13:50:09
Estimados colegas, estoy tratando de recuperar la fecha del servidor mediante el siguiente codigo :


Procedure cambiar_mes();
var test : TDateTime;
Begin
dm1.IBQuery1.SQL.Clear;
dm1.IBQuery1.SQL.text := 'SELECT current_date FROM RDB$Database';
dm1.IBQuery1.Open;
test :=dm1.IBQuery1.Fields[0].AsDateTime;
showmessage(datetostr(test));
End;


y me lanza el siguiente error,

---------------------------
Debugger Exception Notification
---------------------------
Project UOT.exe raised exception class EIBInterBaseError with message 'Dynamic SQL Error
SQL error code = -104
Client SQL dialect 1 does not support reference to DATE datatype'.
---------------------------
Break Continue Help
---------------------------

Alguien tiene idea de como solucionarlo.... he probado varias sentencias similares que he encontrado pero aun no logro obtener la fecha ....

Agradeceria si alguien me comenta como obtener ese dato.....

Gracias.

enecumene
14-11-2007, 14:02:27
Hola, estas intentanto sacar fecha desde una base de datos o siplemente visualizar la fecha actual? si es este ultimo entonces solo debes usar la siguiente sentencia:

SELECT CURRENT_DATE //sin el from

o

SELECT CURRENT_DATE as fecha

intentalo asi despues me comenta.

Saludos.

Lepe
14-11-2007, 14:10:28
Pues lo dice bien claro, tu base de datos está en Dialecto 1, y en ese dialecto no se permite la llamada a la función, ya que no existe el tipo Date (bueno, eso es lo que dice el mensaje).

Lo suyo, cambiar a Dialecto 3 tu base de datos, pero no sé si es viable, porque no solo afecta a las fechas, sino también por ejemplo, a los campos Numeric(xx,yy). Deberías mirar el Data Definition Guide.pdf de interbase (www.ibphoenix.com).

Saludos

ilichhernandez
14-11-2007, 14:22:53
Acabo de cambiarle el dialecto a la bd, voy a probar como va esto..... aparentemente funciona bien.... la aplicacion no ha reclamado ni ha lanzado errores nuevos..... gracias por los comentarios , me han sido de gran ayuda.....

Saludos.

Al González
14-11-2007, 17:58:38
¡Hola a todos!

Me alegro de que no hayas tenido mayores problemas. Aprovecho para comentarte que puedes prescindir de la sentencia "dm1.IBQuery1.SQL.Clear;", ya que haces la asignación directamente a la propiedad SQL.Text del conjunto de datos.

Saludos.

Al González. :)