04. juni 2004 - 22:47Der er
11 kommentarer og 1 løsning
Undgå NULL
Jeg har et felt i min mySQL Database. Dette felt skal i nogle tilfælde være tomt. Problemet er at når jeg laver et std. Select-kald i min DB får jeg fejlen (kun hvis feltet er tomt):
"Microsoft OLE DB Provider for ODBC Drivers error '80020009'
Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done."
Der er selvfølgelig den løsning at jeg kunne indsætte et tegn eller lign hvis feltet skulle være "tomt". Men det vil også være "molboarbejde" synes jeg. Er der andre løsninger.
Selvfølgelig kunne man også bruge en "On error resume next" - men jeg er ikke tilhænger af at se gennem fingre med fejl i mine scripts :D
Digitale certifikater er fundamentet for tillid. Nu ændres vilkårene, og der stilles helt nye krav til, hvordan I arbejder med overblik og styring.
Slettet bruger
04. juni 2004 - 22:48#1
Jeg skal lige gøre opmærksom på at det virker fint på min lokale testmaskine. Men når jeg uploader til min host opstår problemet. Er der evt. noget man kan ændre i opsætningen på serveren (kender gutten der har den)? Det er en W2000 server...
Hvorfor sætter du ikke bare feltet, til at være "tillad nullængde"......?
Synes godt om
Slettet bruger
04. juni 2004 - 22:55#3
Det er det - og det er i og for sig det der er problemet :) Et Null-felt genererer fejlen fordi det er tomt, og jeg ved ikke helt hvorfor men det håber jeg nogen herinde kan hjælpe med :D
Undlader man at "hente" feltet (ex. med Response.Write) genereres ingen fejl - ej heller hvis feltet har en værdi (altså IKKE er tomt).
mySQL - det hjælper ikke at undelade at tage feltet med. Det er fordi feltet er tomt fejlen opstår. Så gør det jo ingen forskel om man tager det med i update eller ej :)
Fejlen opstår kun ved en Select-statement indtil videre :D
når felter er null dvs 'før tomme' ;o) så bruger jeg
trim(rs("felt") & " ")
dette betyder at feltet nu ikke længere er null men tomt og virker det
Synes godt om
Slettet bruger
06. juni 2004 - 14:06#10
kimovitch > Det er ikke noget konkret kode. Den syntak jeg sidder og har problemer med lige nu er noget så simpelt som en <%=RS("feltnavn")%> og udvalgt af en standard: "SELECT * FROM tabel WHERE id = 8"
vbcoder > Det løste problemet - nu får jeg så i stedet en "Exception occurred." :D
Synes godt om
Slettet bruger
06. juni 2004 - 14:33#11
Sætter jeg en "On Error Resume Next" i toppen af siden vises siden præcist som den skal. Jeg er blot ikke tilhænger af et "se gennem fingre" med fejl på mine sider :)
Synes godt om
Slettet bruger
06. juni 2004 - 17:43#12
Jeg har valgt at indsætte et mellemrum som værdi når recorden oprettes hvilket løser problemet. Godt nok ikke den løsning jeg havde ønsket - men man må jo nøjes :D
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.