🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: uch.ing.dcc
Article #43

Re: Pregunta JDBC (PreparedStatement)

#43
From: Luis León Cárdenas Graide
Date: Mon, 06 Feb 2006 15:36
23 lines
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!lucarden
References: <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>