webForumDet fria alternativet

mySQL

Javaur Java

2 svar · 222 visningar · startad av Jaar

Medlem sedan juli 2001434 inlägg
Frågan#1

Halloj

Jag kom och tänka på en sak jag gjorde hemma imorse.
I mySQL finns ju inte datatypen bool (förens sen beta mysql) ... utan jag kör med tinyint(1) som sätts till 1 eller 0...
Men vad jag då undra var följande

pstmt = "select myBoolCell from table"

rs = pstmt.executeQuery();

boolean myvalue = rs.getBoolean(1);

Kommer detta fungera? klarar getBoolean att tolka 1/0 som bool, eller får jag göra en egen liten funktion för det?

Medlem sedan feb. 2003202 inlägg
#2

I dokumentationen för ResultSet-interfacet och metoden getBoolean(String) kan man läsa följande:

Returns: the column value; if the value is SQL NULL, the value returned is false.

Jag har också för mig att 0 tolkas som false i vissa sammanhang, så jag skulle faktiskt kunna tänka mig att att om du har 1 och 0 i denna kolumn, så tolkas 1 som true och 0 som false i denna metod.

Jag kan ha fel, men ett enkelt sätt att ta reda på detta, torde vara att testa :)

Medlem sedan juli 2001434 inlägg
#3

Efter att testat så fann jag att det inte fungerade, sorgligt nog. Har nu gjort en liten klass som översätter boolean till mySQL tinyInt osv. Men fack för hjälpen

136 ms totalt · 3 externa anrop · v20260731065814-full.55e59744
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)