Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Recorrer Query en Enviar SMS (https://www.clubdelphi.com/foros/showthread.php?t=86197)

webmasterplc 30-06-2014 05:03:20

Recorrer Query en Enviar SMS
 
Buenas estoy tratando de recorrer una consulta para concatenar una direccion url y enviar un sms

mi codigo es el siguiente
Código Delphi [-]
with datos.sqcontactos do
begin
                Close;
                SQL.Text := 'SELECT * FROM vcontactos where vcontactos.celular IS NOT NULL';
                Open;
 
    while not Eof do
    begin

              phonenumber:=datos.sqcontactos.FieldByName('celular').AsString;
                    Text:=mmomensaje.Text;
              user:='mipass';
              password:='miusuario';
              parametros:='phonenumber='+phonenumber+'&Text='+Text+'&user='+user+'&password='+password;
             respuesta := 'http://www.enlinea-ve.com/api2/'+'?'+parametros;
             wb2.Navigate(respuesta);
           
             datos.sqcontactos.Next;




     end;


La Consulta me regresa 1000 registros y solo me envia 3 sms paraeciera que al tercer registro se detiene

newtron 30-06-2014 09:21:29

Hola.

Yo lo primero que haría sería poner un punto de interrupción en la línea del "next" comprobando los valores y viendo si al salir es por tener Eof=True o por otra cosa. Si es por eso igual en el proceso de envío del sms por alguna razón el puntero del query se mueve por lo que la solución sería quedarte con la dirección del puntero antes de enviar el sms y volver a ella antes del "next".

Saludos

Casimiro Notevi 30-06-2014 10:05:13

Código Delphi [-]
datos.sqcontactos.Close;   //  si solo necesitas el campo celular, entonces no traerse todos con el *
datos.sqcontactos.SQL.Text := 'select celular from vcontactos where celular is not null';  // ¿null o acaso están con cadena vacía?
datos.sqcontactos.Open;
while not Eof do
begin
  phonenumber := datos.sqcontactos.FieldByName('celular').AsString;
  Text := mmomensaje.Text;
  user := 'mipass';        //  user ¿mipass?
  password:='miusuario';   //  password ¿miusuario?
  parametros := 'phonenumber='+phonenumber+'&Text='+Text+'&user='+user+'&password='+password;
  respuesta := 'http://www.enlinea-ve.com/api2/'+'?'+parametros;
  wb2.Navigate(respuesta);
  //
  datos.sqcontactos.Next;
end;
Pues eso :)


La franja horaria es GMT +2. Ahora son las 21:10:20.

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