Avatar billede hundevennen Nybegynder
01. februar 2005 - 09:50 Der er 16 kommentarer og
1 løsning

Update problemer

I min database har jeg et talfelt, der bliver opdateret via en Update, men den fejler og fejlen er datatype mismatch in criteria.
Feltet er sat som et talfelt og ændre jeg det til et tekstfelt kører opdateringen fint. de data jeg vil opdatere med er tal, men bliver åbenbart registreret som tekst?????????
Avatar billede hundevennen Nybegynder
01. februar 2005 - 09:50 #1
det er en access database
Avatar billede sidewinder Nybegynder
01. februar 2005 - 09:55 #2
I ASP er den nemme løsning at gange dit tal med 1 før det sættes i tabellen. På den måde finder ASP ud af at det er et tal og ikke en tekst.
Avatar billede keysersoze Ekspert
01. februar 2005 - 10:05 #3
hvordan ser din sql ud?
Avatar billede hundevennen Nybegynder
01. februar 2005 - 10:06 #4
hmm, jeg har prøvet at lave en response write sql og response.end lige inde min sqlsætning eksekveres og får da at det tal der skal updateres ser således ud
engangsbeløb='0, 0'
Avatar billede keysersoze Ekspert
01. februar 2005 - 10:07 #5
du må ikke have ' omkring et tal - det skal hedde fx

UPDATE tabel SET talfelt = 5
og ikke
UPDATE tabel SET talfelt = '5'

derudover skal tal separeres med . - fx

UPDATE tabel SET talfelt = 5.5
og ikke
UPDATE tabel SET talfelt = 5,5
Avatar billede hundevennen Nybegynder
01. februar 2005 - 10:08 #6
der er 45 poster der skal opdateres ialt og jeg er sélvfølgelig begyndt at arbejde mig nedad i sætningen og den virker frem til det felt der hedder engangsbeløb, hvor den skriver som anført ovenfor
Avatar billede hundevennen Nybegynder
01. februar 2005 - 10:38 #7
keysersoze >

engangsbelob = request.form("engangsbelob")

sql = "update tabel set engangsbelob='" & engangsbelob & "' where ID=" & ID
Avatar billede sidewinder Nybegynder
01. februar 2005 - 10:40 #8
Hvis du skriver et tal i engangsbelob, dur det her:
sql = "update tabel set engangsbelob=" & engangsbelob*1 & " where ID=" & ID
Avatar billede hundevennen Nybegynder
01. februar 2005 - 10:45 #9
sidewinder - det har jeg nu prøvet og den sætter stadig et 0 og et komma og så tallet, - ligesom jeg skrev i min kommentar 4 felter oppe
Avatar billede keysersoze Ekspert
01. februar 2005 - 10:45 #10
sql = "update tabel set engangsbelob=" & replace(engangsbelob,",",".") & " where ID=" & ID
Avatar billede hundevennen Nybegynder
01. februar 2005 - 11:01 #11
keysersoze - jaja det hjælper med at fjerne kommaet, men den updatere stadig et nul foran det tal der bliver sat ind og der er ikka sat noget obligatorisk o sat nogen steder
Avatar billede sidewinder Nybegynder
01. februar 2005 - 11:03 #12
sql = "update tabel set engangsbelob=" & replace(engangsbelob,",",".")*1 & " where ID=" & ID

Hvad er det for et tal du putter ind i din form?
Avatar billede hundevennen Nybegynder
01. februar 2005 - 11:26 #13
et heltal f.eks 200
Avatar billede hundevennen Nybegynder
01. februar 2005 - 11:31 #14
tabellen er jo opdateret ved hjælp af en insert sætning og det virker helt fint.
Når jeg så vil rette har jeg en select der går ind og henter data fra tabellen og lægger dem i en form , hvori man så retter med en updatesætning og her skriver den så f.eks hvis jeg retter det der står i feltet 200 og updater kan jeg se at den sender 200, 200  afsted
Avatar billede keysersoze Ekspert
01. februar 2005 - 11:41 #15
Det er ikke SQL'en der er forkert nu men derimod variablen. Hvis dun sender 200, 200 afsted til din variabel så er det højst sandsynligt fordi du har 2 form-felter der hedder det samme - hvis ikke må du gøre et eller andet andet på siden der får den til at gøre det.
Avatar billede hundevennen Nybegynder
01. februar 2005 - 12:43 #16
keysersoze >tjah - du havde desværre ret, det første man bliver blind på........det var formfeltet - ens 2 steder
Avatar billede keysersoze Ekspert
01. februar 2005 - 12:44 #17
:)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester