![]() |
Pasar String a Integer
Buenos dias.
Bueno mi problema es el de siempre. Que todavia no se muchas cosas....... Pero en concreto ahora me preocupa lo sigiente. he hecho un Query para generar un Update. y hasta hay perfecto, pero la cosa es que para que el Update funcione correctamente le tengo que pasar el Id sobre el que quiero que me actue, este Id Lo tengo pintado en el formulario, pero a la hora de pasarlo al Query me da un problema de incompatibilidad de tipos, la manera de intentarlo es. qryVisado.ParamByName('_Id').Value:=Ed_Id.text; pero claro esta el Id del formulario es un String y lo que el Query espera es un Integer. como puedo pasar de un tipo a otro?????? Se que hay un metodo que es "Val()" pero no me aclaro con el. Por lo cual solicito ayuda. Gracias a todos por Buestra atencion. |
StrToInt
No obstante, te aconsejo usar controles específicos para número (estilo a CurrencyEdit de las RxLib) |
inttostr(integer)
strtoint(string) i asi un sinfin de funciones para pasar de un tipo a otro. tambien puedes sacarlo directamente de la tabla como un string tabla1campo.asstring o integer tabla1campo.asinteger existen muchos mas metodos, pulsa F1 i buscalos en la ayuda de delphi |
MUchas Gracias me ha funcionado perfectamente
con StrToInt. |
Conversion
La conversión se hace: StrToInt(Ed_Id.Text);
Se puede utilizar en el query qryVisado.ParamByName('_Id').AsInteger:=StrToInt(Ed_Id.text); |
Try
De todos modos, este tipo de conversiones, que pueden EXPLOTAR, debes hacerlas dentro de un TRY
Saludos Fer |
Solo aclarar que el parámetro tiene una propiedad AsString a la que directamente le podrias asignar el string, sin conversión alguna.
query.parambyname('codigo').AsString := label1.caption; Saludos. ;) |
Cita:
Si usas AsString, ¿no queda el valor encerrado entre comillas? // Saludos |
Cita:
Independiemente de esto las comillas en una variable de cadena no se guardan, las comillas son unos delimitadores del lenguaje para que el compilador sepa que lo que estas asignando es una cadena de texto no un numero. Es decir las comillas que delimitan cadenas solo tienen sentido en el codigo fuente para diferenciar unos tipos de valores de otros, pero no existen, no aparecen por ningun lado en el ejecutable resultante traducido a codigo maquina. Saludos Miguel |
Cita:
Cita:
A los parámetros, puede asignarseles el tipo de dato (DataType) en tiempo de diseño. NO puedo comprobarlo ahora, pero es probable que al tener definido algún tipo de dato numérico (ftInteger, ftSmallInt, ftFloat, ftCurrency o ftBCD) esta comprobación la realizaria también automáticamente. Si alguien puede probarlo y sacarnos de la duda, se le agradece. Hasta luego. ;) |
¡Uy! Ahora sí me regresaron al kinder :D
A lo que me refería en efecto, es a las comillas en SQL no en el código fuente. Si hago una consulta como
obtendré un error ya que roman se interpretará como nombre de campo en lugar de la cadena "roman". En una consulta como
Cuando asignamos el parámetro con AsString se colocan las comillas alrededor del valor:
Aun siendo el parámetro de tipo entero, AsString coloca las comillas. Mi confusión fue que no tomé en cuenta que el servidor hacía la conversión de tipos. // Saludos |
QuotedStr
usa QuotedStr para ponerle comillas a tu texto antes de mandarlo.
Saludos Fer |
:confused: :confused:
:D:D:D Creo que este tema está confundiendo a los visitantes... :eek: |
La franja horaria es GMT +2. Ahora son las 08:35:44. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi