Article View: uch.ing.dcc
Article #43Re: Pregunta JDBC (PreparedStatement)
From: Luis León Cárdenas Graide
Date: Mon, 06 Feb 2006 15:36
Date: Mon, 06 Feb 2006 15:36
23 lines
2286 bytes
2286 bytes
On Mon, 30 Jan 2006, Manuel Villarroel wrote: > Estimados: > > Alguien sabe si en una consulta se puede parametrizar el nombre de la tabla o de los campos > usando java.sql.PreparedStatement? 1) Depende del driver. El est�ndar no lo soporta. S�lo soporta "constantes". Algunos drivers "bakanes" soportan parametrizar tablas y columnas, pero son extensiones propietarias. 2) Recomendaci�n: si est�s parametrizando tablas, ten un HashMap que map�e el String con el nombre de la tabla al PreparedStatement correspondiente. 3) �Concatenar Strings para crear una query SQL? Es factible, pero mucho ojo con no abrir por debajo una vulnerabilidad SQL Injection. 4) Para desacoplar la aplicaci�n del manejo de la BD, te sugiero usar procedimientos almacenados (en un motor que los soporte decentemente, como Postgres, no MySQL) a los que les pases por par�metro el nombre de la tabla y armas el SQL din�mico dentro de �l. Esa invocaci�n s� podr�as hacerla con un PreparedStatement parametrizado en forma est�ndar, con los "?" en los valores constantes y no en el nombre de tabla o columna.
Technical Details
Message-ID:
<Pine.GSO.4.61.0602061231200.15670@cipres.cec.uchile.cl>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!news3.google.com!news.glorb.com!news.kjsl.com!news.nivel5.cl!news.cec.uchile.cl!cipres!lucardenReferences:
<drlkg4$csr$1@helcaraxe.dcc.uchile.cl>Show Full Headers
Complete Article Headers
X-Google-Thread: faaa5,c949046c6148f2b0 X-Google-Thread: 1593cb,c949046c6148f2b0 X-Google-Attributes: gidfaaa5,gid1593cb,public X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!news3.google.com!news.glorb.com!news.kjsl.com!news.nivel5.cl!news.cec.uchile.cl!cipres!lucarden From: Luis León Cárdenas Graide <lucarden@ing.uchile.cl> Newsgroups: uch.ing.dcc,chile.comp.programacion Subject: Re: Pregunta JDBC (PreparedStatement) Date: Mon, 6 Feb 2006 12:36:24 -0300 Organization: Centro de Computacion - U. de Chile Lines: 23 Sender: lucarden@cipres.cec.uchile.cl Message-ID: <Pine.GSO.4.61.0602061231200.15670@cipres.cec.uchile.cl> References: <drlkg4$csr$1@helcaraxe.dcc.uchile.cl> NNTP-Posting-Host: cipres.cec.uchile.cl Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8BIT X-Trace: localhost.localdomain 1139240184 27744 200.9.100.5 (6 Feb 2006 15:36:24 GMT) X-Complaints-To: news@localhost.localdomain NNTP-Posting-Date: Mon, 6 Feb 2006 15:36:24 +0000 (UTC) In-Reply-To: <drlkg4$csr$1@helcaraxe.dcc.uchile.cl>