Avatar billede leggodt Nybegynder
08. juni 2005 - 10:15 Der er 9 kommentarer

Data type mismatch

Jeg får denne fejl:

update reservedele set pris =150 Where varenummer= 30001
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.


Men feltet er lavet som tal felt (.mdb) og selve update linien ser sådan ud:

strSQL = "update reservedele set pris ="&request.form("pris")&" Where varenummer= " & Request("id")


Hvad skal der stå istedet? (jeg har forsøgt at lægge ' ' rundt om tallet)
Avatar billede busschou Praktikant
08. juni 2005 - 10:32 #1
hvad med mellemrum mellem lighedstegnene?
strSQL = "update reservedele set pris = "&request.form("pris")&" Where varenummer = " & Request("id")
Avatar billede fennec Nybegynder
08. juni 2005 - 10:46 #2
Kan det være fordi pris er komma tal??
Hvis det er skal du udskifte komma med punktum.

strSQL = "update reservedele set pris ="& replace(request.form("pris"),",",".")&" Where varenummer= " & Request("id")

Ellers prøv at udskrive sql'en til skærmen, så er det nemmere at se evt fejl.
Avatar billede leggodt Nybegynder
08. juni 2005 - 12:17 #3
Det med mellemrum virkede desværre ikke
sql ser sådan ud :
update reservedele set pris = 150 Where varenummer = 30001

og jeg får denne fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/admin/menu/opdater.asp, line 13
Avatar billede leggodt Nybegynder
08. juni 2005 - 12:18 #4
OG der er ikke komma i desværre :-(
Avatar billede kbonline Nybegynder
08. juni 2005 - 12:28 #5
Kan det ikke være id'et som er et tekst felt?
prøv
strSQL = "update reservedele set pris ="&request.form("pris")&" Where varenummer= '" & Request("id")&"'"
Avatar billede busschou Praktikant
08. juni 2005 - 12:40 #6
har du prøvet indlægge mellemrum mellem ligheds tegnene som tidligere foreslået?
Avatar billede busschou Praktikant
08. juni 2005 - 12:45 #7
lol jeg skal vist lære at læse indlæg før jeg skriver noget ;O)
Avatar billede busschou Praktikant
08. juni 2005 - 12:53 #8
Det lyder nu mærkeligt, med mindre en af dine kolonner har forkert navn burde en af følgende virke
UPDATE reservedele SET pris = 150 WHERE varenummer = 30001
UPDATE reservedele SET pris = 150 WHERE varenummer = '30001'
UPDATE reservedele SET pris = '150' WHERE varenummer = 30001
UPDATE reservedele SET pris = '150' WHERE varenummer = '30001'
UPDATE reservedele SET [pris] = 150 WHERE [varenummer] = 30001
UPDATE reservedele SET [pris] = 150 WHERE [varenummer] = '30001'
UPDATE reservedele SET [pris] = '150' WHERE [varenummer] = 30001
UPDATE reservedele SET [pris] = '150' WHERE [varenummer] = '30001'
Ellers er jeg vist tør for ideer.
Det kunne også betyde at et af felterne er tomme i din Request("id") men siden du skriver et tal så er det vel ikke tilfældet?
Avatar billede cdull Nybegynder
09. juni 2005 - 11:57 #9
Prøv at sætte en statisk talværdi der hvor du normalt har Request("ID"), jeg tror at det er fordi den simpeltgen er tom eller at du får noget forkert i den.

Udskriv evt. din request og se hvad der står i den, og sæt din request som et tal, for derved at se om fejlen ligger i din request.
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