Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 01-09-2021
Avatar de ethangio
ethangio ethangio is offline
Miembro
 
Registrado: jul 2008
Posts: 63
Poder: 16
ethangio Va por buen camino
Cita:
Empezado por kuan-yiu Ver Mensaje
Yo tengo esta (no es mía sino de un compañero):
Cita:
Empezado por engranaje Ver Mensaje
Como ya te han recomendado es posible que la mejor opción para tí sea utilizar el propio log de Mysql que como leo estas investigando, o hacerte una función que recorra los parámetros de la query y los sustituya por el valor.
Muchas gracias a ambos, con ayuda de los 2 pude hacer mi procedimiento:
Código Delphi [-]
procedure GuardaConsulta(Query: TZQuery; Conexion: TZConnection);
var
  QInsert          : TZQuery;
  FechaHora      : TDateTime;
  ConsultaSQL,
  VarTmp          : String;
  i                    : Integer;
begin
  // Cadena de consulta SQL
  ConsultaSQL := Query.SQL.Text;

  // Remplazamos los parámetros por sus valores
  for i := 0 to Query.Params.Count-1 do
  begin
    // Creamos el nombre del parámetro para remplazarlo
    VarTmp := ':'+Query.Params.Items[i].Name;
    if query.Params[i].DataType = ftString then
      ConsultaSQL := StringReplace(ConsultaSQL, VarTmp, QuotedStr(Query.Params.Items[i].Value), [rfIgnoreCase])
    else if query.Params[i].DataType = ftInteger then
      ConsultaSQL := StringReplace(ConsultaSQL, VarTmp, Query.Params.Items[i].Value, [rfIgnoreCase])
    else
      ConsultaSQL := StringReplace(ConsultaSQL, VarTmp, QuotedStr(Query.Params.Items[i].Value), [rfIgnoreCase]);
  end;

  // Insert del query
  QInsert := TZQuery.Create(nil);
  try
    //
    FechaHora := now();
    QInsert.Connection := Conexion;
    ReadySQL(QInsert);
    QInsert.SQL.Add(' INSERT INTO consultas_sql (query, fechahora) ');
    QInsert.SQL.Add(' VALUES('+ QuotedStr(ConsultaSQL) + QuotedStr(FormatDateTime('yyyy-mm-dd hh:nn:ss', FechaHora)) +')');
    QInsert.ExecSQL;
  finally
    //
    QInsert.Free;
  end;

end;

Muchas gracias movorack por el tip y a todos por sus respuestas. Saludos desde Puebla, México

Última edición por ethangio fecha: 01-09-2021 a las 21:43:48.
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
Consulta con sql, parametros liito16 SQL 6 30-08-2010 18:01:11
Consulta con parametros betiitooo SQL 3 16-06-2008 22:12:50
Parametros en consulta SQL csja SQL 8 23-03-2008 23:37:34
Parametros integer en consulta php jgutti PHP 2 14-06-2006 21:16:20
Parametros en Consulta SQL joi Varios 2 31-10-2005 19:36:49


La franja horaria es GMT +2. Ahora son las 14:27:14.


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