Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #11  
Antiguo 31-01-2017
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 17
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Tal y como respondi en DelphiAccess:

El componente internamente interpreta la sentencia SQL y crea automaticamente los parametros; no hace falta que invoques para nada al metodo Parameters.AddParameter

Osea por ejemplo, con un SQL asi:

Código Delphi [-]
  ADOQuery.SQL.Add(...)
  ADOQuery.SQL.Add(' WHERE Campo = :Param ');
  ADOQuery.Parameters.ParamByName('Param') --> devuelve el TParameter correspondiente

Se crea automaticamente un objeto TParameter con nombre o "identificador" 'Param'.

Si por algun motivo te interesa desactivar esto ultimo y encargarte vos mismo de crear los parametros, debes setear la propiedad ParamCheck a False

El problema son los parametros pero por ambiguedad; internamente la coleccion TParameters del TADOQuery va a tener dos parametros llamados igual y uno va a quedar sin un valor definido y por eso tiene conflicto de datos

Prueba de concepto (necesario que el ADOQuery tenga su propiedad Connection seteada a una conexion "valida")

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
var
  Param: TParameter;
begin
  ADOQuery1.SQL.Text := ' SELECT * FROM Clientes WHERE Nombre = :Nombre ';
  Param := ADOQuery1.Parameters.AddParameter;
  Param.Name := 'Nombre';
  Param.DataType := TFieldType.ftInteger;
  ShowMessage(ADOQuery1.Parameters.Count.ToString); // imprime 2
  if ADOQuery1.Parameters.ParamByName('Nombre') <> Param then // evalua true
    ShowMessage('son distintos objetos');
end;
Responder Con Cita
 



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
conflicto entre aplicaciones zajoma Tablas planas 3 27-05-2008 17:48:58
Conflicto entre puertos jsanchez API de Windows 2 07-09-2007 00:37:17
Conflicto entre nospE y eagS marcoszorrilla La Taberna 3 09-01-2007 18:34:23
Query entre dos tablas de distintas databases tefots Firebird e Interbase 2 06-11-2006 15:28:29
Conflicto entre Query y Tabla filtrada Michael Varios 2 20-05-2004 21:37:43


La franja horaria es GMT +2. Ahora son las 22:01:34.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi