Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
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 05-01-2017
koalasoft koalasoft is offline
Miembro
 
Registrado: oct 2004
Ubicación: Tenosique Tabasco
Posts: 80
Poder: 14
koalasoft Va por buen camino
Error al guardar Número Telefónico

buenas ..

Pues ese es el detalle, intento guardar en una tabla el valor de un número telefónico con el clasico código:

Código:
Table1.Open;
try
Table1.FieldByName('TEL_CL').AsInteger :=StrToInt(Edit1.Text);
finally
Table1.Post;
end;
Si guardo un valor por ejemplo: 1234567890, si lo guarda sin problema, pero si quiero agregar un valor por ejemplo: 9384568579, me envía un mensaje de error: "raised exception class EConvertError whit message "9384568579" is not a valid integer value"

El campo TEL_CL en la BD lo tengo de tipo Numérico.

Intenté de igual forma usar una variable para mayor rango de número:

Código:
Var
 TEL  : Int64;

begin
TEL: = =StrToInt(Edit1.Text)
Table1.Open;
try
Table1.FieldByName('TEL_CL').AsInteger :TEL;
finally
Table1.Post;
end;
Alguna idea por que ese valor no me lo acepta?
Responder Con Cita
  #2  
Antiguo 05-01-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 27.606
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pues porque ese valor excede al máximo de un número entero.
Responder Con Cita
  #3  
Antiguo 05-01-2017
Avatar de Neftali
Neftali Neftali is online now
-Germán Estévez-
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 15.369
Poder: 10
Neftali Va camino a la famaNeftali Va camino a la fama
Prueba a utilizar esto:

Código Delphi [-]
  Table1.FieldByName('TEL_CL').AsString := TEL;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 05-01-2017
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.829
Poder: 9
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Yo usaría StrToInt64 para convertir el valor
Responder Con Cita
  #5  
Antiguo 05-01-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 27.606
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Es que habría que saber también qué tipo de integer usa la base de datos ¿access?
Responder Con Cita
  #6  
Antiguo 05-01-2017
Avatar de Neftali
Neftali Neftali is online now
-Germán Estévez-
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 15.369
Poder: 10
Neftali Va camino a la famaNeftali Va camino a la fama
Habría que aclarar:

1) Qué tipo hay en la Base de Datos y qué tipo debe ser.
2) Qué tipo de dato tiene la variable y qué tipo debe ser.
3) Cómo asignar los valores (porque si se asigna como AsInteger va a fallar).

La asignación de AsInteger usa el tipo LongInt:
Código Delphi [-]
function GetAsInteger: Longint; virtual;

Que según la ayuda está definido así:
Cita:
LongInt -2147483648..2147483647 Signed 32-bit
Habría que usar AsLargeInt, que usa LargeInt=Int64 definido como:

Cita:
Int64 -2^63..2^63-1 Signed 64-bit
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 05-01-2017
koalasoft koalasoft is offline
Miembro
 
Registrado: oct 2004
Ubicación: Tenosique Tabasco
Posts: 80
Poder: 14
koalasoft Va por buen camino
Cita:
Empezado por AgustinOrtu Ver Mensaje
Yo usaría StrToInt64 para convertir el valor
Si lo guarda pero al consultar ese valor guarda otro datos diferente.. Por ejemplo guarde el numero 9383869090, lo guardo y al consultarlo guardo el número: 793934498
Responder Con Cita
  #8  
Antiguo 05-01-2017
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.422
Poder: 18
mamcx Va camino a la famamamcx Va camino a la fama
Aparte de esto, un telefono se debe guardar como texto, no solo porque hay "números" pocos usuales (ej: +71 333, o *555)

Si no porque ademas, no tiene sentido preguntar "Sacame el promedio de la columna teléfono".
__________________
Nuevo Blog.
Ahora en Twitter!.
Responder Con Cita
  #9  
Antiguo 05-01-2017
koalasoft koalasoft is offline
Miembro
 
Registrado: oct 2004
Ubicación: Tenosique Tabasco
Posts: 80
Poder: 14
koalasoft Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Prueba a utilizar esto:

Código Delphi [-]
  Table1.FieldByName('TEL_CL').AsString := TEL;
Muestra "Incompatible type String and Int64"

Gracias!!
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
guardar un numero en dos tablas Daniel10 Tablas planas 8 19-02-2013 10:35:49
como guardar un numero en la BD a travez del InputBox Nelly Varios 1 18-01-2006 21:12:59
¿Como puedo marcar un numero telefonico a travez del modem de la PC? Roger_Fernandez Varios 7 18-11-2004 15:32:54
Marcar un numero telefonico? danytorres Varios 1 26-07-2004 03:43:09
Marcar numero telefonico desde delphi agova API de Windows 1 18-03-2004 15:14:42


La franja horaria es GMT +2. Ahora son las 09:31:30.


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