PDA

Ver la Versión Completa : Problemas con puntos y comas... Access


delphicano
29-12-2003, 23:45:08
Hola estimados amigos, espero me puedan ayudar en esto. Tengo una aplicación Delphi que utiliza una BD Access. Hago la siguiente inserción, por ejemplo esta tontera:

...
valor:=2.1; ->valor es tipo real
numero:=floattostr(valor);
with query do
begin
sql.close;
sql.clear;
sql.add('update mitabla');
sql.add('set miregistro=miregistro+'+numero+'');
exceqsql;
end;
...

Si a valor le asigno 2,1, al ejecutar el query me da el error que no es un tipo float válido (por la coma), pero cuando lo hago con el punto me dice que no coinciden los tipos de datos con la expresión de criterios. El campo miregistro de mitabla es del tipo double, y tiene números reales separados por puntos registrados dentro de ella ¿por qué no me deja hacer la actualización?

Si hay alguna falta de ortografía por favor perdónenme, pero no tengo el código frente mío y no me acuerdo bien de los comandos, pero les aseguro que compila sin problemas.

Traté configurando DecimalSeparator y otra variable de ambiente que no recuerdo bien (Thourd... algo así), pero no funcionó. No sé si el problema estará en la BD o en el código. :confused: :confused: :confused:

Help me please.!!!! :(

Muchas gracias.-

Lepe
30-12-2003, 11:55:46
lo del decimal viene de aquihttp://www.clubdelphi.com/foros/showthread.php?s=&threadid=1463&highlight=dichoso+separador+decimal


y en cuanto a asignar el valor...


sql.clear;
sql.text := ' update mitabla set micampo = ' + floattostr(micampo + valor);


no lo he probado, pero creo que con floattostr y formatfloat puedes solucionarlo. ahora no tengo tiempo para más.

Saludos

delphi.com.ar
30-12-2003, 15:07:54
Mmmmm... No creo que la solución de Lepe sea válida para ti...

Con respecto a tu problema, prueba ejecutando la consulta armada a mano: 'update mitabla set micampo=micampo + 2.3'..
Por otro lado, ¿Puedes enviarnos la consulta tal como ha quedado en el query?