Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-12-2006
emeritos emeritos is offline
Miembro
 
Registrado: may 2003
Posts: 307
Poder: 22
emeritos Va por buen camino
Insert con mydac

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).


2.- Ha por cierto que siginifica en el borrado o en la modificacion

**** =:Old_codigo_mp

no lo veo claro, aunque todo funciona bien.


3.- Por ultimo, para ejecutar una sentencia SQL dentro de un MyQuery hay que poner MyQuerycodigos.Execute.



Gracias por todo..
Responder Con Cita
  #2  
Antiguo 06-12-2006
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
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']; //creo que iria así, si me equivoco que me corrigan.
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 := //aquí pones el valor que le mandes;
 //He puesto AsString, pero tu le mandas el tipo de dato que esté esperando esa columna en la tabla.

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
Responder Con Cita
  #3  
Antiguo 06-12-2006
emeritos emeritos is offline
Miembro
 
Registrado: may 2003
Posts: 307
Poder: 22
emeritos Va por buen camino
He puesto este codigo pero me da un error en las sentencias ParamByName diciendome que no funciona codigo_mp y si le cambio de nombre tambien.


MQnumperdido.ParamByName('codigo_mp').AsInteger := MQentradamp['codigo_mp'];

MQnumperdido.ParamByName('numero_perdido').AsInteger := MQentradamp['n_entrada'];

MQnumperdido.SQLInsert.Clear;
MQnumperdido.SQLInsert.Add('INSERT INTO num_perdido (codigo_mp, numero_perdido) VALUES (:codigo_mp, :numero_perdido)');

MQnumperdido.Execute;
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
Conexiones con mydac a mysql taru MySQL 3 27-07-2006 10:52:24
MyDAC chipsoni Conexión con bases de datos 1 15-01-2006 13:39:57
Transacciones con MyDac digital MySQL 0 27-07-2005 02:35:32
Insert me cierra otro Insert motrildelphi Conexión con bases de datos 0 05-05-2005 12:20:27
Mydac Version 1.3 Ariel MySQL 1 07-11-2003 22:45:05


La franja horaria es GMT +2. Ahora son las 17:55:58.


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