Om man inte fyller i ett formulärfält och sedan försöker lägga in det i en db så får jag:
Provider error '800a000d'
Type mismatch
Hur skall man låta fälten vara tomma fast db uppdateras ändå?
8 svar · 392 visningar · startad av jontas
Om man inte fyller i ett formulärfält och sedan försöker lägga in det i en db så får jag:
Provider error '800a000d'
Type mismatch
Hur skall man låta fälten vara tomma fast db uppdateras ändå?
Formulärfältet:
<input type="text" size="6" name="fd_Pris" maxlength="6">
För att kägga till i db:
RecSet("fd_Pris") = Request.Form("fd_Pris")
Egentligen vill jag ju kontrollera att allt blir ifyllt. Vilket är enklast, låta någon "missa" fält eller kontrollera att alla fält är ifyllda?
RecSet("fd_Pris") = cstr(Request.Form("fd_Pris"))
borde lösa problemet, men det här är ett av prisen man får betala om man kör med direktuppdatering av recordset.
------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB
Vad gör den "lilla" skillnaden som du skrev i koden ?
cstr konverterar en variabel till en sträng, och en tom variant-variabel borde då bli tvingad till en tom sträng, som acceptaras av recordset:et.
------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB
Efter jag skrev in nya koden får jag detta meddelande istället:
... Driver] Field 'tabell_annonser.fd_Namn' can't be a zero-length string.
Förslag ?
Det låter som om du inte tillåter en null i det fältet du försöker uppdatera i databasen... Kolla så att 'Tillåt nollängd' är satt till ja.
------------------
www.webeye.nu
Så enkelt var det Vide ..
Tror att det börjar bli dags att investera i den STORA bibeln, SQL/Access-For Idiots :)