Sintaxe não funciona!

19 respostas
F

Porque será que não funciona essa sintaxe:

"Select * from cadastro where'" + clausula + "'like '%".........

clausula é uma string, eu peçõ para o JOPtionPane me mostra a sintaxe e ela sai certo…mas no debuguer da Null point exeption…

Onde está o erro perto do where?? :cry:

19 Respostas

M

O erro nao estaria na posicao do % eu escrevo ele antes do ’ e funciona
Ex: nome LIKE '"+ nome +"%'"

Ate mais…

T

“Select * from cadastro where’” + clausula + “'like '%”…
vc deveria escrever algo assim
"Select * from cadastro where campo like ‘%" + clausula + "’"
coisa assim

“FelipeSS_2”:
Porque será que não funciona essa sintaxe:

"Select * from cadastro where'" + clausula + "'like '%".........

clausula é uma string, eu peçõ para o JOPtionPane me mostra a sintaxe e ela sai certo…mas no debuguer da Null point exeption…

Onde está o erro perto do where?? :cry:

F

“marceloedrei”:
O erro nao estaria na posicao do % eu escrevo ele antes do ’ e funciona
Ex: nome LIKE '"+ nome +"%'"

Ate mais…

o erro ta no where, eu só não coloquei o resto da query pois o erro é no where, do like para frente ta certo, se eu tirar a variavel e colocar o nome diretamente funciona…

Deixxa eu explicar melhor:
é essa a sintaxe OKz

String sql="Select * from cadastro where'"+ clausula + "'like '%"
	    +name.toUpperCase().substring(0)+"%'";

se eu fizer assim funciona com nome fixo depois do where

String sql="Select * from cadastro where nome like '%"
	    +name.toUpperCase().substring(0)+"%'";

O lance é porque não funciona a variável e um nome fixo funciona, o erro ta no where , esqueçam o like é antes disso

T
é que vc tem q por o nome do campo....
"Select * from cadastro where campo like '%" + clausula + "'"
"FelipeSS_2":
"marceloedrei":
O erro nao estaria na posicao do % eu escrevo ele antes do ' e funciona Ex:
nome LIKE '"+ nome +"%'"

Ate mais...

o erro ta no where, eu só não coloquei o resto da query pois o erro é no where, do like para frente ta certo, se eu tirar a variavel e colocar o nome diretamente funciona....

F
"TomazLavieri":
é que vc tem q por o nome do campo....
"Select * from cadastro where campo like '%" + clausula + "'"
"FelipeSS_2":
"marceloedrei":
O erro nao estaria na posicao do % eu escrevo ele antes do ' e funciona Ex:
nome LIKE '"+ nome +"%'"

Ate mais...

o erro ta no where, eu só não coloquei o resto da query pois o erro é no where, do like para frente ta certo, se eu tirar a variavel e colocar o nome diretamente funciona....

Não cara leia acima

T

o erro é nas aspas simples… tem q tirar as aspas da primeira parte

String sql="Select * from cadastro where "+ clausula + " like '%" +name.toUpperCase().substring(0)+"%'";
tem q ficar assim… pq o nome do campo não tem ’ aspas

F

“TomazLavieri”:
o erro é nas aspas simples… tem q tirar as aspas da primeira parte

String sql="Select * from cadastro where "+ clausula + " like '%" +name.toUpperCase().substring(0)+"%'";
tem q ficar assim… pq o nome do campo não tem ’ aspas

Não não é isso , não funciona!!!
Aspaas simples é para receber String, se for “+” é para inteiro que nãomé o caso

T

bom… o que é pra vim em clausula ???

nesta exemplo abaixo dentro de clausula viria o nome do campo…

String sql="Select * from cadastro where "+ clausula + " like '%" +name.toUpperCase().substring(0)+"%'";

ai se o valor de clausula fosse nome… ficaria algo assim

String sql="Select * from cadastro where nome like '%" +name.toUpperCase().substring(0)+"%'";

bom… o que é esperado como valor para clausula??? qual é a ideia??

T

bom a sintaxe do sql é assim

por isso que to dizendo que antes do LIKE naum tem ’ aspas… =] só tem depois

F

“TomazLavieri”:
bom a sintaxe do sql é assim

por isso que to dizendo que antes do LIKE naum tem ’ aspas… =] só tem depois


Cara esqueça o like para frente , ali ta certo …o erro ta depois do where onde vc escreveu acima

where campo

se eu colocar where nome(que é o nome de um campo da tabela) ele funciona perfeito…mas o que eu quero é substituir o campo, por uma variavel que é uma String como eu disse assima, mas não funciona se eu triocar o campo like, pela variavel “+variavel”+like

T

olha… isso aki funciona…

String campo = "nome";

String sql = "SELECT * FROM cadastro WHERE " + campo + " like '%"
       +name.toUpperCase().substring(0)+"%'";

ou seja… continuo axando que o problema está nas aspas simples que tem no seu código… esse SQL q te passei ai… funciona…

ai vc pode trocar… String campo por qualquer valor… desde que nele contenha o nome do campo

F

“TomazLavieri”:
olha… isso aki funciona…

String campo = "nome";

String sql = "SELECT * FROM cadastro WHERE " + campo + " like '%"
       +name.toUpperCase().substring(0)+"%'";

ou seja… continuo axando que o problema está nas aspas simples que tem no seu código… esse SQL q te passei ai… funciona…

ai vc pode trocar… String campo por qualquer valor… desde que nele contenha o nome do campo

Cara aqui não funciona, ja tinha testado com “+…+” com ‘"+…+’", postei porque não achei solução…
Não sei porque!!!

T

c copiou colou o meu trecho de código ali… e deu erro???

akela sql ali ta corretinha =]

ao menos aki vai tranquilo

F

“TomazLavieri”:
c copiou colou o meu trecho de código ali… e deu erro???

akela sql ali ta corretinha =]

ao menos aki vai tranquilo

Valeu pela ajuda cara, vou ver se é outra coisa, erro do Acess e etc…Valeu pela ajuda!!

F

Ae funcionou…sabe qual é o problema?? todas as clausulas SQL tenquenstar maiusculas…que porrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr…Esse acess é uma buguera só

Valeu pela ajuda tomaz

T

ae :dance: :dance: :dance: :dance: :dance: :dance: :dance:

uhuhhu access sux!!.. =] por nada ai… mas quem axou o bug foi vc mesmo =]

F

“TomazLavieri”:
ae :dance: :dance: :dance: :dance: :dance: :dance: :dance:

uhuhhu access sux!!.. =] por nada ai… mas quem axou o bug foi vc mesmo =]

Mas PQP olha que viagem se vc colocar tudo em jminusculo com a variavel sem variavel no campo funciona, agora colcando a variavel tenque ser em maiusculo…

Mas valeu , pelos posts me fizeram tentar maiusculo

acesse sux demais…mesmo, não concigo fazer aquele auto incremento dele funcionar , ja no outro BD funciona tranqukiz

D

Tenta fazer assim

select * from tabela where campo like: parametro…
se quiser usar o %…tente fazer assim:
String parametro=JOptionPane.showInputDialog(“Parametro:”)+"%"

eh o mesmo que: parametro%

Espero que tenha ajudado!!!

Se vc disser qual a ide que estah usando tb ajuda!

eltonk

huahuauhahuahua

Essas pequenas besteiras são as mais interessantes para nós aprendermos!!!
:banda:

Criado 31 de março de 2004
Ultima resposta 6 de abr. de 2004
Respostas 19
Participantes 5