Ver Mensaje Individual
  #1  
Antiguo 18-04-2014
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Reputación: 20
FGarcia Va por buen camino
SQLite y Max(ID)

Como no existe un foro de SQLite pues lo puse aqui

Para los que se quedaron en casa y no fueron de vacaciones una preguntita.

Estoy usando Delphi XE2, SQLite, UniDac 5.0.2

En un query tengo esta sentencia:
Código Delphi [-]

SELECT MAX(ID) AS max_id FROM CAPDATA;
El campo max_id me aparece como de tipo BLOB type ftMemo, sin embargo el campo ID de CAPDATA esta declarado como Integer y es la Primary Key

Como frontend para SQLite estoy usando SQLiteSpy y al ejecutar la sentencia me aparece el resultado correcto.

En delphi estoy haciendo esto:

Código SQL [-]
procedure TdmCnx.InsertarTotales(datos: real);
var
  maxId: integer;
begin
   //SELECT MAX(id) FROM TuTabla

   qyMaxId.Open;
   maxId := qyMaxId.FieldByName('max_id').Value;

end;

el resultado de esto es:

Cita
---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EDatabaseError with message 'qyMaxId: Type mismatch for field 'max_id', expecting: Memo actual: LargeInt'.
---------------------------
Break Continue Help
---------------------------


Aqui la pregunta ¿Es posible convertir el blob memo a integer? o como debo de tratar esto.


Saludos!!
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?
Responder Con Cita