caros amigos
sou novato em java
e estou com este pedaco de codigo que nao entendi
na linha smtm.setring eu passo a variavel usucodigo sendo igual a um usuario em minusculo
eu nao tenho na tabela usuario um usuario minusculo ou seja
eu passo: “jose”
e na tabela usuario tem um usuario “JOSE”
nao devia trazer os dados deste usuario
porem traz
o que sera que esta acontecendo
eu nao tenho nenhum tratamento upper para fazer a consultla?
alguem pode me explicar?
PreparedStatement smtm = con.prepareStatement("select * from usuario where usucodigo = ?");
smtm.setString(1, usucodigo);
ResultSet rs = smtm.executeQuery();
Cara, acho que o PreparedStatement ta fazendo isso por você.
se o prepared statement estiver fazendo isso
eu nao posso permitor
o que fazer?
Bom… pelo que eu estou lendo agora, se você usa Strings no PreparedStatement elas são case sensitive, então diferenciam maiúsculas de minúsculas, não sei dizer qual o problema agora se realmente não existe o “jose” na base como você diz.
cara na base nao existe o usuario minusculo
mande o código de como essa string chega aí, pra gente poder analisar, o erro só pode estar aí
Se você rodar essa query diretamente no banco de dados ele acha o jose minusculo?
Alguns bancos podem ser configurados para serem case-insensitive.
caros amigos
eu fiz o texto na query
e o pior
coloquei a consulta em minusculo e
retornou o registro mesmo estando em maiusculo…
o problema nao esta no meu projeto
no proprio query analise
retornou o registor
muito estranho
trabalho com sqlserver
nao entendi nada
mas retornou o registro mesmo com diferenca
de minusculo e maiusculo
então seu problema é o que o amigo AbelBueno disse, provavelmente sua base está configurada para ser case-insensitive
vou verificar isso no sql