Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-02-2005
jplj jplj is offline
Miembro
 
Registrado: oct 2003
Posts: 189
Poder: 21
jplj Va por buen camino
Selección con LIKE en Access 97

Hola:

Trabajando con Delphi 7, Access 97 y TADOCommand.

Tengo la siguiente función:
Código Delphi [-]
function TModDatos.Ejecutar_Comando(SQL: String; Valores: Array of Variant): Boolean;
var
   i: Integer;

begin
   Comando_1.CommandText:= SQL;   // (Nota 1)
   for i:= 0 to High(Valores) do
      Comando_1.Parameters[i].Value:= Valores[i];

   Comando_1.Prepared:= True;
   _lComandoFinalizado:= False;
   Comando_1.Execute;

   If _RegistrosAfectados = 0 then result:= False else result:= True;

end;

El problema me surge cuando lo llamo de la siguiente forma:

Código Delphi [-]
Texto_Sql:= 'DELETE * FROM MiTabla WHERE (MiTabla.Nombre LIKE :P0);';

Ejecutar_Comando( Texto_Sql, [QuotedStr('_Sector_*')])
Al realizar la llamada anterior no se elimina ningún registro.

Sin embargo, si depurando copio el valor de SQL en el punto Nota 1 de la función, y lo pego en una consulta de access, la ejejcución de la consulta sí realiza la eliminación de los registros.

He probado ha realizar la llamada con otras instrucciones como
Código Delphi [-]
Texto_Sql:= 'DELETE * FROM MiTabla WHERE (MiTabla.Nombre LIKE  ' + QuotedStr('_Alcance_*') + ');';

O bien pasando la cadena con la que compara con doble comilla : "_Alcance_*"
Pero obtengo el mismo resultado.

Lo que me extraña es que en access las instrucciones si funcionan.

También decir que el procedimento Ejecutar_Comando funciona correctamente con otras instrucciones que no contenga LIKE, como:
'DELETE * FROM MiTabLa WHERE Id = 10;'

Saludos
__________________
Sonríe. Mañana puede ser peor.
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


La franja horaria es GMT +2. Ahora son las 07:48:19.


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