webForumDet fria alternativet

kan inte söka efter exakta ord som innehåller åäö

Java

2 svar · 479 visningar · startad av jme

Medlem sedan maj 20012 237 inlägg
Frågan#1

Hej!

Har följande problem:

fungerar inte:


String query = "SELECT * FROM dictionary WHERE word = ?"; 
stmt.setString(1, "zää");

fungerar:


String query = "SELECT * FROM dictionary WHERE word = 'zää'";

Varför? Gissar på att det har med teckenkodningen att göra.

Det går bra att lägga till ord med åäö. Jag kan editera poster med åäö. Men jag kan inte söka efter data som innehåller åäö. Inte exakta sökningar.

SELECT * FROM dictionary WHERE word LIKE 'zä%' fungerar dock.

Medlem sedan aug. 20021 752 inlägg
#2

Vad är stmt??
Det här borde fungera,

Connection conn={skapa en databas anslutning}
PreparedStatement ps=conn.prepareStatement("SELECT * FROM dictionary WHERE word like ?");
ps.setString(1,"%åäö%");
ResultSet rs=ps.executeQuery();

/Viktor

Medlem sedan maj 20012 237 inlägg
#3

japp, stmt är en PreparedStatement.

mm, det bör fungera med %åäö%

men om jag har ordet "åäö" så varför hittas inte då det ord med sökningen på "åäö"?

263 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)