webForumDet fria alternativet

mySQL

2 svar · 222 visningar · startad av Jaar

JaarMedlem sedan juli 2001434 inlägg
#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?

andreascarlssonMedlem sedan feb. 2003211 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 :)

JaarMedlem 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

Genererad på 370 ms · cache AV · v20260730165559-full.f96bc7eb