Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-04-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 21
karlaoax Va por buen camino
Wink UPDATE con seccion llamada UPDATE sql's MyDAC

JE je aqui molestando de nuevo con los componentes Mydac.
Estoy haciendo Updates en una tabla, utilizando MyQuery, una seccion llamada UPDATE sql's, el codigo que tengo es:
UPDATE productos
SET
stock = :stock // Campo a actualizar
WHERE
codigo = :codigo // Pasado como parametro de un txtcodigo2(edit)

En un boton para ejecutar myquery:

MyTable1.Edit;
QueryUpdate.Close;
QueryUpdate.SQL.Clear;
QueryUpdate.SQL.Text:='UPDATE productos SET stock='+DBedit3.Text+'WHERE codigo="'+txtcodigo2.Text+'"';
QueryUpdate.Execute;
QueryUpdate.ParamByName('codigo').AsString := txtcodigo2.Text; // Depura
MyTable1.Refresh;
MyTable1.Post;

Siguiendo los consejo de Roman para ver que es lo q se afecta en la tabla, colocando el MyDacVCL en uses y Debug a TRUE, esta super.

Cuando clickeo mi boton todo bien, por que depuro con f5 mi codigo, peroooooooo.........

Me sale este mensaje:
Project1.exe raised exception class Emyerror with message 'You have an eror in your SQL syntax; check the manual that corresponds to your MySQL server version fopr the right syntax to use near 'codigo="5" at line 1' (El 5 es el parametro que pase).

Creo que mi clausula WHERE esta mal implementada.

Lo unico que quiero hacer es modificar mi campo stock de mi tabla, al momento de hacerlo, todos los registros q tengo, el campo sctock los cambioa a Cero.

De antemano, gracias

Karla
Responder Con Cita
  #2  
Antiguo 25-04-2007
Avatar de droguerman
droguerman droguerman is offline
Miembro
 
Registrado: abr 2005
Ubicación: tierra
Posts: 999
Poder: 20
droguerman Va por buen camino
reemplaza esto:
Código SQL [-]
  QueryUpdate.SQL.Text:='UPDATE productos SET stock='+DBedit3.Text+'WHERE codigo="'+txtcodigo2.Text+'"';

por esto:
Código SQL [-]
  QueryUpdate.SQL.Text:='UPDATE productos SET stock='+DBedit3.Text+'                    WHERE codigo="'+txtcodigo2.Text+'"';
__________________
self.free;
Responder Con Cita
  #3  
Antiguo 25-04-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 21
karlaoax Va por buen camino
:o

QueryUpdate.SQL.Text:='UPDATE productos SET stock='+DBedit3.Text+' WHERE codigo="'+txtcodigo2.Text+'"';


Ok, el codigo si esta bien.... Pero por que cuando le deje espacio si funciona, y mi codigo q no tenia espacios en el WHERE no?
Responder Con Cita
  #4  
Antiguo 25-04-2007
Avatar de droguerman
droguerman droguerman is offline
Miembro
 
Registrado: abr 2005
Ubicación: tierra
Posts: 999
Poder: 20
droguerman Va por buen camino
bueno, culpa mía por no explicarlo, lo que sucede es que estás mandando al servidor:
Código SQL [-]
UPDATE productos SET stock=100WHERE codigo=101


con la que te dí estás enviando
Código SQL [-]
UPDATE productos SET stock=100 WHERE codigo=101
es decir solo es un error de sintaxis
__________________
self.free;
Responder Con Cita
  #5  
Antiguo 25-04-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 21
karlaoax Va por buen camino
Muchas Gracias por la explicacion , Droguerman.
Responder Con Cita
Respuesta



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
SQL Update Gustavo Gowdak SQL 1 29-06-2006 23:11:07
OLD y NEW en UPDATE micayael Firebird e Interbase 3 20-10-2005 15:50:14
El problemático UPDATE!!! ciscu SQL 3 10-02-2004 20:26:13
Update con sql miguelb SQL 8 25-07-2003 16:30:30


La franja horaria es GMT +2. Ahora son las 18:10:26.


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