![]() |
![]() |
| Paypal | 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
|
||||
|
||||
|
¿Para qué base datos?
¿Desde SQL (base de datos) o desde Delphi?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#2
|
|||
|
|||
|
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 |
|
#3
|
|||
|
|||
|
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, |
|
#4
|
||||
|
||||
|
Pero no mezcles las cosas, ahora no se sabe qué has preguntado ni de lo que trata el hilo
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#5
|
|||
|
|||
|
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 ;
...
|
|
#6
|
||||
|
||||
|
Con parámetros, es lo más seguro.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#7
|
|||
|
|||
|
muchas gracias Casimiro Notevi
deduzco entonces que esto es seguro Código:
...
ADOQuery1.sql.add ('SELECT campo1,campo2 FROM tabla WHERE condicion =:parametro');
ADOQuery1.parameters.parambyname('parametro').value := unvalor ;
...
Código:
sql.add('SELECT * FROM '+torigen);
Código:
sql.add('SELECT * FROM :torigen');
parameters.parambyname('torigen').value := combobox1.text ;
si estoy en lo cierto, alguna idea de como podria implementarlo para que funcionara y fuera seguro? gracias nuevamente |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|