Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Cual es el error de la sintaxis (https://www.clubdelphi.com/foros/showthread.php?t=56491)

sierraja 19-05-2008 16:44:43

Cual es el error de la sintaxis
 
Buenos dias a todos, tengo la siguiente instruccion no me funciona cual sera la razon:


Código SQL [-]
update FACTURACION set contador=contador+1 where CODIGO_SUSCRIPTOR=:x_cod






Cuando reviso la el resultado me aparece en blanco el campo de contador. Cual sera el problema ? :confused:

Ñuño Martínez 19-05-2008 18:03:03

No estoy seguro, pero puede que no esté permitido hacer "contador = contador + 1".

paladincubano 19-05-2008 18:14:26

Creo que de la misma forma que entras el parametro "CODIGO_SUSCRIPTOR=:x_cod" deberias entrar el contador, o sea, calcular el contador aparte en delphi y pasarselo por parametro.

Código Delphi [-]
Cont := Tabla['Contador'];
Inc(Cont);
..
Query.SQL.Add('update FACTURACION set contador=:Cont where CODIGO_SUSCRIPTOR=:x_cod');

Saludos. Espero te sirva.

sierraja 19-05-2008 20:50:09

No se puede incrementar un contador en sql con un update
 
Buenas tardes, segun sus comentarios no se puede incrementar un valor de un campo en una tabla desde una sola instruccion sql. Bueno realmente en mi busqueda, me parecio ver esta instruccion, pero despues no la consegui, por tal razon decidi comentarla aqui. Pero seguire buscando a ver que sale. Gracias por su atencion..

roman 19-05-2008 21:01:38

Desde luego que se puede incrementar una variable de la forma en que lo intentas. El error debe estar en otra parte, quizá el valor original del campo sea NULL, o haya algún problema con el parámetro que pasas. Pero de que se puede, se puede. ¿Qué base de datos usas?

// Saludos

Delphius 19-05-2008 21:07:10

Yo creo que el error no está en la SQL sino en el código, al obtener el valor del parámetro. ¿Porqué no nos das a conocer un poco de tu código?

Saludos,

gmontes 19-05-2008 22:06:06

debes decir en que programa haces este codigo

tal ves tu problema es que no encuentra el codigo_suscriptor

where CODIGO_SUSCRIPTOR=:x_codsi es alfanumerico, tal ves tenga espacios antes o despues del valor

sierraja 20-05-2008 02:03:29

ok el codigo existe, y despues que ejecuta la instruccion le hago commit, y por supuesto lo estoy haciendo desde ibexpert para despues hacerlo desde codigo delphi. Por eso digo me parece extraño:confused:

sierraja 20-05-2008 02:26:56

Ok, buenas noches, estoy utilizando firebird 1.5 y utilizo ibexpert y en el sql editor coloco:


Código SQL [-]
update facturacion set contador=contador+1 where codigo_suscriptor='2580';





Y cuando me ubico en la pestana de los resultados, el campo contador aparece null

Delphius 20-05-2008 02:31:47

Hola sierraja,
Tal vez suene tonta la pregunta, pero voy a realizarla: ¿Confirmas la actualización?¿Estás seguro de que existe ese código?
¿Lo probaste desde IBExpert?
¿Si envias la consulta desde código, podrías mostrarnos el código (no la SQL) que utilizas?

Saludos,


La franja horaria es GMT +2. Ahora son las 19:29:32.

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