Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Leer Memos recorriendo tabla (https://www.clubdelphi.com/foros/showthread.php?t=72473)

ramonibk 21-02-2011 18:16:12

Leer Memos recorriendo tabla
 
Buenas a todos.

Estoy intentando recorrer una base de datos (Una Tabla) y mientras la recorro intento revisar un campo Memo buscando Frases especificas.

lo he intentado de la siguiente manera

Código Delphi [-]
Var
N, I : Integer;
S : String;

Begin
 I := 0;
 S := qryBuscarCampoMemo.AsString;
 For N := 0 To qryBuscar.qryBuscar.RecordCount Do
 Begin
  if AnsiContainsText( S, 'Frase a Buscar' )= True Then
     Begin
       I := I+1;
       Label1.Caption:=IntToStr(I); // Solo para poder ver el contador
     End;
   dsBuscar.DataSet.Next; 
 End;

End;
Y bueno no se lo que pasa pero no consigo que esto ande.

rgstuamigo 21-02-2011 18:43:41

Y el error??
 
Pues no estás diciendo que problema exactamente tienes?:confused:
Por lo que puedo ver es que tu variable "S" nunca cambia, es decir le asignas lo que tiene "qryBuscarCampoMemo.AsString" sólo una vez, pero nunca cambia de valor...;)
Supongo :rolleyes: que lo que tratas de hacer es que en cada registro recorrido la variable "S" se actualize con lo que tiene el campo "qryBuscarCampoMemo", si és así, pues entonces debes hacer la asignación dentro del ciclo..;)
Código Delphi [-]
...
 Begin
 I := 0;
 qryBuscar.qryBuscar.First;//por si las moscas ;)
 For N := 0 To qryBuscar.qryBuscar.RecordCount Do
 Begin
 S := qryBuscarCampoMemo.AsString;//asigno a mi variable S dentro del ciclo para que se actualize
  if AnsiContainsText( S, 'Frase a Buscar' )= True Then
     Begin
       I := I+1;
       Label1.Caption:=IntToStr(I); // Solo para poder ver el contador
     End;
   dsBuscar.DataSet.Next; 
 End;
 ...
De todas formas quizás exista una mejor y más eficiente forma de hacer lo que pretender lograr, claro está que para poder guiarte en es caso, debes dar más detalle de lo que necesitas hacer exactamente...;)
Saludos...:)

ramonibk 21-02-2011 18:51:27

Efectivamente ese era el problema.
al no refrescar la variable "S" esto no se movía.

El tema es ir recorriendo la table para buscar en partes de trabajo y poder generar estadísticas.

rgstuamigo 21-02-2011 19:04:12

Cita:

Empezado por ramonibk (Mensaje 391555)
..
El tema es ir recorriendo la table para buscar en partes de trabajo y poder generar estadísticas.

Y por que no hacer una Consulta SQL con alguna sentencia LIKE (por ejemplo) hacia el Server directamente para que te haga eso???:confused:
Es mucho más rápido y eficiente que estas recorriendo el DataSet(Query,Table);).
Saludos...:)


La franja horaria es GMT +2. Ahora son las 19:51:26.

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