FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Hola.
Agregando a lo que te aconseja Casimiro, siempre que puedas, usa parámetros para evitar la inyección SQL. Algo similar a esto: Escribí el ejemplo sobre la marcha y no está probado, no des por sentado su correcto funcionamiento. Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#2
|
|||
|
|||
Ecfisa, muchas gracias lo probaré, me tiene cabezón esa linea , no doy ni daré por sentado nada en la vida, en estos momentos solo quiero saber por qué se esta suspendiendo la actualización con SQL
|
#3
|
||||
|
||||
Ya te lo he contestado.
|
#4
|
|||
|
|||
Delphi XE8?, A veces pasan cosas "raras" con el depurador y nos hace creer que la ejecución se ha detenido en una sentencia cuando en realidad se detiene en sentencias posteriores. Sugerencia: Coloca un punto de interrupción en Query6.Next. Esto con el objetivo de verificar si realmente el código se "congela" en ExecSQL.
A Tener en cuenta: 1. La observación de casimiro: al recorrer DataSet de principio a fin lo recomendado es usar 2. NO libera el objeto qconsr . En tu código está ocurriendo una fuga de memoria cada vez que creas el objeto qconsr porque nunca está siendo liberado. En el código mostrado por ecfisa se ilustra una forma correcta de crear y destruir el objeto qconsr 3. Del código se puede deducir que los componentes utilizados son BDE, por lo que supongo que utilizas tanto BDE como FireDac en la aplicación. Pregunta ¿El código funcionaba bien antes de FireDac o FireDac fue necesario para resolver otro problema? 4. Verifica el siguiente código, no probado, en el que se hace uso del while y de try-finally:
5. En un enfoque completamente alternativo, y aprovechando el poder de las bases de datos, prueba a utilizar la sentencia SQL MERGE, la cual te permite actualizar/modificar/borrar masivamente registros de una tabla a partir de otra tabla o de una subconsulta. |
#5
|
|||
|
|||
Como se ha comentado, para recorrer el dataset es mejor con :
El poner o poner , no te va a cambiar nada ya que la variable cont no la estás utilizando para nada. |
#6
|
||||
|
||||
Cita:
Si hay 5 registros, el (0,1,2,3,4), al hacer ese bucle se están tratando los datos del 1 al 4, y el 0 (cero) se pierde y el 5 no leerá nada tampoco, pues no existe. |
#7
|
|||
|
|||
Cita:
Entiendo que no es la forma habitual-correcta de hacerlo, pero los dos bucles hacen su trabajo bien, que es recorrer un dataset de 5 registros, el que la variable count vaya del 0 al 4, o del 1 al 5, es indiferente para este caso. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
No funciona bien KillFocusByReturn | oscjae | FireMonkey | 2 | 20-12-2018 21:01:31 |
Recorrer una Dataset hacia atras | IVAND | Varios | 4 | 15-05-2012 22:20:15 |
funciona bien en windows 7 64b pero en XP no funciona | ASAPLTDA | Varios | 5 | 06-05-2011 16:24:50 |
Recorrer fichero txt y almacenarlo en un DataSet | mamen | .NET | 2 | 24-04-2006 19:27:33 |
QRImage no funciona bien | eljinete | Impresión | 4 | 16-12-2005 01:02:05 |
|