Hola a todos!
a ver si me podéis ayudar antes de que me vuelva loco.
Tengo una base de datos en SQLSERVER.CE. Me conecto a ella con ADO y actualizo datos sin problemas con la siguiente sentencia:
Código:
('Insert into TBL_M_ART Values (''' + codigo+ ''', ''' +descripcion+ ''')');
donde codigo y descripción están asignados previamente.
Pero si en lugar de esa sql uso la siguiente con parámetros
Código:
('Insert into TBL_M_ART (M_Cod, M_des) Values (:Cod,:Desc)');
ADOQuery1.Parameters[0].value := codigo;
ADOQuery1.Parameters[1].Value := descripcion;
ADOQuery1.ExecSQL;
al ejecutar el ExecSQL la aplicación no me da ningún error pero se sale de la ejecución. Debuggeando (no parece una palabra que admita la RAE), en
Código:
function TADOQuery.ExecSQL: Integer;
begin
InitializeMasterFields(Self);
Command.Execute(FRowsAffected, EmptyParam);
Result := FRowsAffected;
end;
veo que EmptyParam da un error(-2147352572).
¿Alguien sabe a qué se debe esto?
Muchas gracias,
Jon
PD: quiero usar parametros por que debe ser más rápido