FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
repetir consulta para mas de una tabla
Hola
Necesitaria por optimizar codigo de la aplicacion hacer una consulta que fuera valida para mas de una tabla y pasando el nombre de la tabla y los campos como parametros. Me explico: Tengo tabla1datviejos y tabla1datnuevos por un lado(las dos tablas con la misma estructura) Por otro tabla2datviejos y tabla2datnuevos (las dos tablas.con la misma estructura) Necesitaria hacer lo siguiente: 1.-mirar en tabla1datviejos si hay datos almacenados en blanco(null)para un campo en concreto 2.-actualizar el campo con un valor en caso de que haya blancos(null) 3.- recorrer la tabla de inicio a fin y comparar los datos con tabla1datnuevos y añadir,modificar... los cambios que haya Y todo esto mismo con tabla2datviejos Habria manera de hacerlo todo en una o varias funciones pero siendo el codigo valido independiente de la tablancon labque se trabaje?vamos dicho de otro modo pasando por parametr,variable... el nombre de la tabla? Antes de preguntar busque y encontre este hilo; http://www.clubdelphi.com/foros/showthread.php?t=75875 No es muy seguro hacerlo alguien sabe de alguna manera que sea segura y que funcionaria? Ahorraria mucho codigo a la hora de programar Gracias y saludos |
#2
|
||||
|
||||
¿Para qué base datos?
¿Desde SQL (base de datos) o desde Delphi? |
#3
|
|||
|
|||
Hola
Seria desde delphi7 y estoy utilizando componentes ADOQuery Probe con: Código:
adoquery1.sql.add (select * from :tab where :campo Is Null) Adoquery1.parameters.parambyname('tab').value:=combobox1.text; Antes de ejecutar la consulta,utilizo dos combobox y en ellos cargo los nombres de las tablas de la bd. Asi, mas tarde la intencion es en cada uno de ellos seleccionar la tabla origen, la tabla destino y poder comparar los datos entre otras cosas. En un momento dado la origen y destino puede ser una y en otro momento purde ser otra. De ahi el interes de poder hacer la consulta lo mas flexible posible. Si no, se me ocurre hacer para cada tarea un menu con las diferentes opciones, pero a nivel de prigramacuon no creo que sea lo ideal Agradezco de antemano cualquier sugerencia |
#4
|
|||
|
|||
ante todo disculpad mi ignorancia en este tema;
en el post que puse mas arriba habia un enlace a un hilo que trataba de inyeccion sql. he recuperado un post de ese hilo con este enlace http://es.wikipedia.org/wiki/Inyecci%C3%B3n_SQL que me parece muy interesante pero que lamentablemente poco entiendo el problema que expuse en este hilo lo he solucionado de esta manera: Código:
vamos; otro ejemplo, con este codigo: Código:
... ADOQuery1.sql.add ('SELECT campo1,campo2 FROM tabla WHERE condicion =:parametro'); ADOQuery1.parameters.parambyname('parametro').value := unvalor ; ... repito, disculpad mi ignorancia gracias y saludos, |
#5
|
||||
|
||||
Pero no mezcles las cosas, ahora no se sabe qué has preguntado ni de lo que trata el hilo
|
#6
|
|||
|
|||
Cita:
la cuestion que pregunto es si con el codigo que he puesto arriba, la aplicacion es segura y no vulnerable a ataques de inyeccion sql. como podreis imaginar los datos almacenados en la bd tienen que ser CONFIDENCIALES y no pueden estar expuestos a que cualquiera pueda alterarlos, leerlos... no repito el codigo otra vez esta arriba, pero esto es una pincelada Código:
sql.add('SELECT * FROM '+torigen); Código:
... ADOQuery1.sql.add ('SELECT campo1,campo2 FROM tabla WHERE condicion =:parametro'); ADOQuery1.parameters.parambyname('parametro').value := unvalor ; ... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
funcion para no repetir codigo:( | ivantj24 | Varios | 12 | 18-10-2012 22:27:45 |
Componente para buscar registros, para no repetir codigo. | flystar | Conexión con bases de datos | 9 | 28-04-2010 23:16:15 |
consulta con tabla temporal para hacer acumulados | tgsistemas | MySQL | 4 | 19-03-2010 11:43:41 |
Componente para repetir informacion | apablado | Varios | 0 | 30-03-2009 17:26:12 |
Consulta SQL para datos ordenados en otra tabla | cotoprix | SQL | 8 | 26-01-2004 23:54:53 |
|