PDA

Ver la Versión Completa : Update en ADOQuery


miquellg
20-04-2006, 22:37:52
hola compañeros,

tengo una ADOquery con la que pretendo hacer la modificación de un campo de la tabla. No se que ocurre, el programa acaba bien pero no modifica el elemento consultado:

Close;
SQL.Clear;
SQL.Add('SELECT AR_REF,AR_CODEBARRE FROM F_ARTICLE WHERE AR_REF = '+ QuotedStr(Article[fila].Codi));
try
ExecSQL;
except
end;
Open;
Edit;
Fields.FieldByName('AR_CODEBARRE').Asstring := '123';
UpdateRecord;

Me falta alguna sentencia? Qué hago mal?

He intentado también hacerlo con una unica sentencia pero me da error:
UPDATE F_ARTICLE SET AR_CODEBARRE = :XX WHERE AR_REF = ' QuotedStr(Article[fila].Codi));

Debo decir que el campo a modificar es índice secundario y no se repite en ningún elemento.(no hagais caso a la sintaxis si lo he escrito mal, compila todo ok)

Se aceptan toda clase de sugerencias.
Gracias a todos.

courtois
21-04-2006, 04:51:54
SQL.Add('SELECT AR_REF,AR_CODEBARRE FROM F_ARTICLE WHERE AR_REF = '+ QuotedStr(Article[fila].Codi));
try
ExecSQL;

Este codigo unicamente selecciona el articulo que cumpla tu condicion pero no hace ninguna modificación, la consulta no permanece abierta, por lo que el resto del codigo es inutil.

UPDATE F_ARTICLE SET AR_CODEBARRE = :XX WHERE AR_REF = ' QuotedStr(Article[fila].Codi));

que error te manda?, estas especificando el parametro XX??? el hecho que compile no signifaca que este bien.
saludos