Hola,
Vamos a ver si yo tambien me aclaro.
Cita:
|
Empezado por emeritos
1.- Estoy utilizando el objeto MyQuery y he visto que exite una propiedad llamada SQLInsert, y que ha generado automaticamente una insercion:
INSERT INTO num_perdido
(codigo_mp, numero_perdido)
VALUES
(:codigo_mp, :numero_perdido)
Pues bien, que se pondria en el VALUES si el codigo_mp o el otro campo, fuese o viniese de otra tabla (ejemplo MyQuerycodigos['codigo_mp']) o biniese de un EDIT o de un DBEdit (campo enlazado).
|
A la hora de asignarlos los parámetros lo harías así:
Código Delphi
[-]MyQuery.ParamByName('codigo_mp').AsString := MyQueryCodigos['codigo_mp'];
Cita:
|
Empezado por emeritos
2.- Ha por cierto que siginifica en el borrado o en la modificacion
**** =:Old_codigo_mp
no lo veo claro, aunque todo funciona bien.
|
Supongo que te refieres a lo que sigue a los dos puntos, ¿no?
En este caso, los dos puntos delante de un nombre de lo que en teoria debiera ser un valor, indica parámetro, es decir, ese valor se le manda por parámetro a la consulta (al igual que en el insert anterior). Lo que haces es indicarle al SQL que le pasarás un valor por parámetro, y ese parámetro se llama Old_codigo_mp.
Para pasarle ese parámetro, lo harás de la siguiente manera:
Código Delphi
[-]
MyQuery.ParamByName('Old_codigo_mp').AsString :=
Cita:
|
Empezado por emeritos
3.- Por ultimo, para ejecutar una sentencia SQL dentro de un MyQuery hay que poner MyQuerycodigos.Execute.
|
Depende, si la sentencia es de consulta (SELECT), no necesitas el Execute, puede usar el método Open o la propiedad Active := True;
En caso de que la sentencia implique modificación de datos (inserta, delete, update, drop, create, ...) si debes usar el método Execute.
Espero te sirva.
Saludos