Toon posts:

[Java JDBC ODBC]

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met het programmeren van (server/client) systeem (voor een horeca bedrijfje) in J2SDK (1.4.2 Beta) en daarbij hoort natuurlijk een database connectie. Voor het gemak heb ik een MS Access database genomen en werk ik via ODBC.
Alles ging lekker totdat ik op een klein foutje stuitte. Bij het uitvoeren van een query kreeg ik bij boolean-waardes een verkeerd antwoord. Om precies te zijn:

ik heb 2 tabellen:
1. AlgemeneGegevensProducten (Id, Naam, ....... , OpVoorraad, IsActief, Verwijderd, OpKaart, OpWebsite, ....) waarbij OpVoorraad t/m OpWebsite booleans zijn
2. Wijn (Id, Jaartal, ....)

Als ik de query "SELECT * FROM AlgemeneGegevensProducten a, Wijn w WHERE a.Id = w.Id" uitvoer, dan krijg ik bij OpVoorraad correcte antwoorden, maar bij IsActief, Verwijderd, Opkaart en opWebsite krijg ik standaard 'false' terug.
(driver: sun.jdbc.odbc.JdbcOdbcDriver --> de standaarddriver, volgens mij)

Om te kijken of het aan mijn code lag heb ik getest in de demo 'TableExample' van j2sdk en bij deze demo krijg ik ook een verkeerd antwoord. :'(

Ik heb dit probleem alleen bij booleans en niet bij andere types. Natuurlijk kan ik hier wel omheen werken, door de booleans op te slaan als integers, maar dat vind ik onzin.
Weet iemand hoe ik dit kan oplossen? (ik dacht zelf aan een nieuwe driver, maar misschien is dat de oplossing wel niet)

joris

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Ik denk niet dat odbc en jdbc ondersteuning hebben voor booleans in query's.

Who is John Galt?


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Wat gaat er nu eigenlijk precies mis, want dat ontgaat me na 2x lezen nog steeds ;) .
justmental: Ik denk niet dat odbc en jdbc ondersteuning hebben voor booleans in query's.
ResultSet.getBoolean(...) en PreparedStatement.setBoolean(...)

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
mbravenboer schreef op 31 July 2003 @ 13:36:
Wat gaat er nu eigenlijk precies mis, want dat ontgaat me na 2x lezen nog steeds ;) .
[...]
ResultSet.getBoolean(...)
ResultSet.getBoolean(..) geeft standaard de verkeerde waarde terug..

edit: En.. de waarde is geen NULL

[ Voor 5% gewijzigd door Verwijderd op 31-07-2003 13:46 ]


  • yrew
  • Registratie: Augustus 2001
  • Laatst online: 09:23
De makkelijkste workaround lijkt me om van al je boolean velden integer velden te maken en dan vullen met 0 of 1.

Groetjes


Verwijderd

Topicstarter
yrew schreef op 31 July 2003 @ 13:48:
De makkelijkste workaround lijkt me om van al je boolean velden integer velden te maken en dan vullen met 0 of 1.
Mee eens. Maar het is toch raar dat ik een verkeerde waarde terugkrijg. Sterker nog: dit maakt het hele systeem gelijk onbetrouwbaar.
Pagina: 1