![]() |
Update Masivo...
Hola amigos
tanto tiempo... estaba modificando unas sentencias de un programa, en donde tengo una serie de registros... (aprox.. 50).. que cumplen una condición.. una vez que se procesan tengo k cambiar el estado.. por lo cual quiero hacer un update masivo.. si realizo la consulta sql desde SQL Server 2000 me funciona bien.. pero al traspasarla desde el delphi.. no me pesca... que podra hacer miren las consutlas que estoy haciendo la siguiente consulta realiza un filtro de los registros... que esten con el estado 'OK'... esto lo realiza bien.
despues realizo una consuta que debe actualizar el estado de 'OK' a 'PR'.. lo ejecuta pero no se actualizan los datos en la tabla...
que podra ser... igual le seguire dando bueltas... |
Porque mejor no intentas crear tu instruccion SQL concatenada, es mas simple sin tando show...
ACTUALIZACION
De esta Manera es mas FACIL detectar ERRORES de los comandos SQL.. PUEDES desplegar la variable cSQL y o grabarla en el CLIPBOARD, y probarla con el DBADMIN de tu preferencia... |
Yo dejaría las sqls con parámetros, son más fiables.
No uses Parameters[0] porque estas dando valores a un parámetro equivocado. Usa Parameters.Parambyname('Var4').Value := lo que sea. Saludos |
Completo un poquito más por si no me expliqué bien, En el Update:
- El parámetro de fechas, se lo estas dando a Pro_tipo. - A Pro_fechas le estas pasando 'OK'. Saludos |
Cita:
el problema pasa que desde delphi no realiza el cambio que yo quiero.... |
Gracias Lepe...
Cita:
|
El cambio lo tiene que hacer por fuerza si realmente existe registros.
Haz la prueba desde delphi, pero en lugar de un Update, que sea un Select con el mismo where, y ves si retorna registros en un grid. De esta forma te aseguras que no es fallo de parámetros, o de que no existan registros (bien por mayúsculas /minúsculas y campos de fechas). Al usar Parameters(....).Value quizás tengas previamente que configurar ese parámetro, para decirle de qué tipo es:
Ya me quedo sin ideas :( Saludos |
Supongo que es una chorrada lo que voy a decir pero por si acaso.
No sé si lo estás metiendo en una transacción o no pero si lo estás haciendo asegúrate de que al final haces commit. |
Cita:
en realidad.. la sentencia ya esta más que probada con un select... Tengo 2 Query's... uno llamado AQ_Select y otro llamado AQ_Edit en la AQ_Select, realizo el mismo filtro (y el resultado los devuelvo en un DBStringGrid... entonces la sentencia (con las variables y todo.. funciona bien)... a ese resultado (que ya esta en un DBStringGrid,,, tengo que cambiarle el estado de 'PR' a 'OK' por lo tanto ejecuto la misma sentencia que la anterior, obviamente cambiando el Select por Update más el valor que debe establecer... pero no pasa nada y la sentencia la he ejecutado en el SQL Server y si me la acepta... ese es el problema... |
Podria ser con un SP
Hola amigos
saben,,, estaba pensando como solucionar mi problema... y se me ocurrio que podria hacer un Procedimiento almacenado... (ya que en el SQL si funciona)... y ese procedimiento llamarlo desde delphi.. y ejecutarlo crearé un procedimiento.. y les cuento como me va... salu2:p:D |
La franja horaria es GMT +2. Ahora son las 15:33:01. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi