Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-06-2016
ederfcr ederfcr is offline
Registrado
NULL
 
Registrado: jun 2016
Posts: 9
Poder: 0
ederfcr Va por buen camino
Variables TdateTime vs campos en Access y FieldByName

Hola buen día.

Tengo otro inconveniente.

Tengo una tabla Access, llamada plancli, con campos 'ID' (entero autoincrementable), 'cc' (Texto corto), 'plan1' (Texto corto), 'fvenci' (Fecha/Hora). Uso Access 2013.

Tengo el siguiente código que me sirve cuando hago una búsqueda en otra tabla por campo 'cedula' (que es la misma 'cc' en la mencionada tabla plancli) y extraigo el valor del campo 'cedula' del ID buscado:

Código Delphi [-]
  mt.Connection := connection;
  mt.CursorType := ctDynamic;
  mt.LockType := ltReadOnly;
  mt.CommandText := 'SELECT * FROM datosgenerales WHERE ID = ' + IntToStr(id);
  mt.Open();
  if mt.Eof then
  begin
   //otras instrucciones
  end else
  begin
    ccusu := mt.FieldByName('cedula').AsString;
     mt.Next();
  end;
  mt.Close();
  mt.Free();

Donde mt es:

Código Delphi [-]
var
  mt: TADODataSet;


Hasta ahi todo bien. Pero cuando hago la busqueda en la tabla plancli donde lo hago por 'cc' para extraer el valor correspondiente del campo 'fvenci' y asignarlo a una variable (con el mismo nombre venci tipo TDateTime), me arroja error de "No coinciden los tipos de datos en la expresión de criterios", el código es el mismo prácticamente:


Código Delphi [-]
    ds2.CommandText := 'SELECT * FROM plancli WHERE cc = ' + ccusu;
    ds2.Open();
    fvenci:= ds2.FieldByName('fvenci').AsDateTime;
    ds2.Close();
    ds2.Free();


Donde ccusu es la variable tipo string donde esta el valor donde plantarse.

Sera problema de como guarda las fechas en Access y como se deben leer, no se. Necesito ideas y ayuda.

Gracias


EderFCR
Responder Con Cita
  #2  
Antiguo 17-06-2016
Avatar de TOPX
TOPX TOPX is offline
Miembro
 
Registrado: may 2008
Ubicación: Bogotá
Posts: 527
Poder: 16
TOPX Va camino a la fama
Hola buen día.

¿En qué línea ocurre ese error "Data Type Mismatch in Criteria Expression"?

Si ocurre en
Código Delphi [-]
  ds2.Open;
y teniendo en cuenta que el campo cc es de tipo "Texto corto", entonces puede ser que deba usar:
Código Delphi [-]
  ds2.CommandText := 'SELECT * FROM plancli WHERE cc = ' + QuotedStr(ccusu);
-
__________________
"constructive mind, destructive thoughts"
Responder Con Cita
  #3  
Antiguo 17-06-2016
ederfcr ederfcr is offline
Registrado
NULL
 
Registrado: jun 2016
Posts: 9
Poder: 0
ederfcr Va por buen camino
Solucionado!!!

Gracias!!!

Mi cerebro ya no respondía, tu ayuda fue gloriosa.

Mil gracias


EderFCR
Responder Con Cita
  #4  
Antiguo 18-06-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Como te recomendamos en tu otra consulta, usa parametros cuando ejecutes SQL, y no vas a tener este tipo de problemas
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Cómo usar variables en lugar de campos Casimiro Notevi SQL 10 19-12-2010 15:44:11
FastReport: imprimir listados de campos variables Lepe Impresión 9 11-02-2008 00:47:36
Fieldbyname se cae ilichhernandez Conexión con bases de datos 4 27-03-2007 23:09:46
Fieldbyname diferencias jlrbotella Conexión con bases de datos 1 06-03-2007 19:20:56
DBGrid con campos variables mayte mtz SQL 9 15-11-2005 23:12:58


La franja horaria es GMT +2. Ahora son las 08:17:28.


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