Select * from '"+variavel+"'?tem outra forma?

Bom dia a todos

gostaria de saber se tem outra forma de identificar uma variavel
dentro do codigo q sera enviado ao mysql,ex:

variavel = "tabela_usuario";
.
.
ResultSet rs = stm.executeQuery("select * from '"+variavel+"');

ouvi dizer q em algumas linguagens é colocado um @ na frente da variavel(especificando q ela é uma variavel),
outras um sinal :

Jorge

Olá Motta,
Pois é, em PHP podemos colocar $ na frente da variável sem fecharmos e abrirmos aspas!
E no PHP existem sempre várias opções pra fazer a mesma coisa! Vc tem q saber todas as formas pra entender codigos de diferentes autores! Ou seja, PHP é cheio de remendo!! Minha opnião!
Ja em JSP, que é java, temos a forma padrão de concatenação de strings que é o “qwe”+var+“rty” !
Respondendo sua pergunta, não tem não!!

Qqer coisa fala ae!!

Tem desse jeito

SELECT * FROM nomes WHERE Nome LIKE '%"+variavel+"%'";
  1. PAZ

Não sei se éra isso que queria saber mas…

String tabela = "vcUsuario";
String login  = "fulano";
String senha  = "123456";

String sql = "Select * from ? where vcLogin = ? and vcSenha =  ?";

java.sql.Connection cn = getConexao();
java.sql.PreparedStatement st = cn.prepareStatement(sql);
st = cn.prepareStatement(sql);

st.setString(1,tabela); //seta o valor no lugar da 1ª interrogação.
st.setString(2,login); //seta o valor no lugar da 2ª interrogação.
st.setString(3,senha); //seta o valor no lugar da 3ª interrogação.

ResultSet rs =  st.executeQuery();

uma pergunta… preparedStatement é so para consultas? não funciona com inserções?

claro que funciona, para select, insert e update. Basta ler o javadoc da classe. Tem exemplos la se não me engane.

Buenas…

Os sinais " : " e “@” são utilizados em aplicativos que interagem diretamente com o banco para executar comandos SQL (T.O.A.D, SQLPlus, Query Builder, SQL Programmer, etc).

Normalmente estes sinais assinalam que o que vem após, é uma variável BIND, para qual deve ser informado um valor que vai ser substituido no momento de fazer o parse do SQL.

ex.: select * from clienetes where cidade = :cid;

no momento de executar o parser muda o :cid por um valor informado ou contido em uma variavel chamada cid na memória.

Para o que você quer fazer em JAVA o negócio é PreparedStatement para rodar SQLs, ou CallabeStatement quando utilizar Stored Procedures.

ex.:

CallableStatement cs1 = null;

cs1 = conn.prepareCall( “{call P_GERA_DADOS (?,?)}” )
cs1.setInt(1,sId);
cs1.setString(2,sData)
cs1.execute();
cs1.close();

[]s