May.14
Vage MS Access exceptions
Wie kent ze niet, bijzonder vaag omschreven MS Access foutmeldingen in combinatie met een C# applicatie. Onlangs kwam ik er weer 2 tegen van het type, uren staren en dan nog niet begrijpen wat het probleem is. Hier komen ze.
Nummer 1: “Data type mismatch in criteria expression”
Ik kreeg deze melding bij het uitvoeren van een update van een record in mijn MS Access database. Bij insert trad dit probleem niet op. Uiteindelijk na lang zoeken bleek het te maken te hebben met de DateTime velden. Als ik geen DateTime velden meenam in de update was er niets aan de hand. Voor je daar achter bent ben je natuurlijk ff bezig. Wat bleek MS Access vindt het niet leuk als de milliseconds van een DateTime een waarde heeft die anders is dan “0”. Dit geldt echter alleen bij een update statement, voor een insert is het geen probleem en wordt de millisecond waarde gewoon opgeslagen in de database. De waarde is er ook uit te vissen op 1/1000 nauwkeurig. Pffff, is dat unexpected behavior of niet…
Nummer 2: “Operation must use an updateable query”
Hoe vaag… Wat is een updateable query? Ik weet wel wat een update query is en die schoot ik bij het optreden van deze exceptie naar binnen. Een melding als “.mdb file is readonly” zou beter op zijn plek zijn. Readonly vlag van het mdb bestand en de operatie met de updateable query kon ongestoord doorgang vinden binnen de ondoorgrondelijke radars van de motor die Access heet.
Ik hoor je denken: “Ach, gebruik ook gewoon SQL-Server stumper.” 😉