Avatar billede thomas_b Nybegynder
01. oktober 2007 - 02:33 Der er 20 kommentarer og
1 løsning

Type mismatch in expression.

Hej...

Nogen der kan se fejlen i denne SQL forspørgsel ??

SQL = "SELECT alarm_produkt.producent AS producent, alarm_produkt.komponentnavn AS komponentnavn, alarm_produkt.model AS model, alarm_produkt_pris.ref_produkt AS ref_produkt, alarm_produkt_pris.leveringstid AS leveringstid, alarm_produkt_pris.leveringsomkostninger AS leveringsomkostninger, alarm_produkt_pris.pris AS pris, alarm_produkt_pris.link AS link, alarm_produkt_pris.dato AS dato, alarm_produkt_pris.aktiv AS aktiv FROM alarm_produkt_pris LEFT JOIN alarm_produkt ON alarm_produkt_pris.ref_produkt=alarm_produkt.id WHERE alarm_produkt_pris.ref_firma='"& Session("citysafe.access") &"'"

Den kommer med fejlen: "Type mismatch in expression."
Avatar billede w13 Novice
01. oktober 2007 - 02:41 #1
Det lyder som om, fejlen ligger i databasen. Hvis du prøver at gemme et tal som tekst eller omvendt, f.eks.
Avatar billede thomas_b Nybegynder
01. oktober 2007 - 02:50 #2
denne SQL henter kun information fra databasen... Den gemmer slet ikke..
Avatar billede w13 Novice
01. oktober 2007 - 02:54 #3
Næh.. Hmm.. Kunne det være her:
WHERE alarm_produkt_pris.ref_firma='"& Session("citysafe.access") &"'
?

Prøv evt. at skrive din SQL på skærmen:

SQL = "SELECT alarm_produkt.producent AS producent, alarm_produkt.komponentnavn AS komponentnavn, alarm_produkt.model AS model, alarm_produkt_pris.ref_produkt AS ref_produkt, alarm_produkt_pris.leveringstid AS leveringstid, alarm_produkt_pris.leveringsomkostninger AS leveringsomkostninger, alarm_produkt_pris.pris AS pris, alarm_produkt_pris.link AS link, alarm_produkt_pris.dato AS dato, alarm_produkt_pris.aktiv AS aktiv FROM alarm_produkt_pris LEFT JOIN alarm_produkt ON alarm_produkt_pris.ref_produkt=alarm_produkt.id WHERE alarm_produkt_pris.ref_firma='"& Session("citysafe.access") &"'"
Response.Write SQL
Avatar billede thomas_b Nybegynder
01. oktober 2007 - 02:56 #4
Kommer stadig med en standart fejlside...!
Avatar billede thomas_b Nybegynder
01. oktober 2007 - 02:59 #5
Jeg har prøvet at fjerne: WHERE alarm_produkt_pris.ref_firma='"& Session("citysafe.access") &"'"

Den giver stadig samme fejl... så den må lægge i det første..!
Avatar billede w13 Novice
01. oktober 2007 - 02:59 #6
Selvom du response.writer? Så lad være med at udføre sql'en. Bare skriv den. Det skal ikke løse problemet, bare hjælpe os til at se, hvordan den fortolker den.
Avatar billede thomas_b Nybegynder
01. oktober 2007 - 03:02 #7
Den skriver den fint nok ud, ser det ud til...:

SELECT alarm_produkt.producent AS producent, alarm_produkt.komponentnavn AS komponentnavn, alarm_produkt.model AS model, alarm_produkt_pris.ref_produkt AS ref_produkt, alarm_produkt_pris.leveringstid AS leveringstid, alarm_produkt_pris.leveringsomkostninger AS leveringsomkostninger, alarm_produkt_pris.pris AS pris, alarm_produkt_pris.link AS link, alarm_produkt_pris.dato AS dato, alarm_produkt_pris.aktiv AS aktiv FROM alarm_produkt_pris LEFT JOIN alarm_produkt ON alarm_produkt_pris.ref_produkt=alarm_produkt.id WHERE alarm_produkt_pris.ref_firma='1'
Avatar billede w13 Novice
01. oktober 2007 - 03:06 #8
Hvilken datatype har ref_firma i databasen?
Avatar billede thomas_b Nybegynder
01. oktober 2007 - 03:07 #9
Tal... - (Jeg har også prøvet uder ' og ')
Avatar billede madeindk Nybegynder
01. oktober 2007 - 03:16 #10
Hvis det er tal OG alarm_produkt_pris.ref_produkt = alarm_produkt.id er tal så burde den altså virke. Prøv lige at gør sådan her :-)

SQL = "SELECT alarm_produkt.producent AS producent, alarm_produkt.komponentnavn AS komponentnavn, alarm_produkt.model AS model, alarm_produkt_pris.ref_produkt AS ref_produkt, alarm_produkt_pris.leveringstid AS leveringstid, alarm_produkt_pris.leveringsomkostninger AS leveringsomkostninger, alarm_produkt_pris.pris AS pris, alarm_produkt_pris.link AS link, alarm_produkt_pris.dato AS dato, alarm_produkt_pris.aktiv AS aktiv FROM alarm_produkt_pris LEFT JOIN alarm_produkt ON alarm_produkt_pris.ref_produkt=alarm_produkt.id WHERE alarm_produkt_pris.ref_firma= " & Int(Session("citysafe.access"))
Avatar billede thomas_b Nybegynder
01. oktober 2007 - 03:20 #11
Virker heller ikke...

Men alarm_produkt.id er autonummerering... men det er også tal jo
Avatar billede madeindk Nybegynder
01. oktober 2007 - 03:22 #12
Lad os prøve noget andet så, prøv denne her og se om SQL stadig fucker. Så finder vi ud af om det den driller pga. din JOIN :-)

SQL = "SELECT * FROM alarm_produkt_pris WHERE alarm_produkt_pris.ref_firma= " & Int(Session("citysafe.access"))
Avatar billede madeindk Nybegynder
01. oktober 2007 - 03:23 #13
Og hvilken felt type er: alarm_produkt_pris.ref_produkt ?
Avatar billede thomas_b Nybegynder
01. oktober 2007 - 03:23 #14
Data type mismatch in criteria expression.
Avatar billede thomas_b Nybegynder
01. oktober 2007 - 03:24 #15
ref_produkt er: tekst
Avatar billede madeindk Nybegynder
01. oktober 2007 - 03:24 #16
Ja ok - så ligger problemet i feltet 'ref_firma' - og du er helt sikker på ref_firma er talfelt?
Avatar billede thomas_b Nybegynder
01. oktober 2007 - 03:24 #17
jep
Avatar billede madeindk Nybegynder
01. oktober 2007 - 03:24 #18
ref_produkt må da ikke være tekst når du laver join på den, tror jeg.
Avatar billede madeindk Nybegynder
01. oktober 2007 - 03:26 #19
Det lyder meget mærkeligt synes jeg, siddre du lokalt eller? For det kan jo være du har glemt at uploade din db eller sådan noget. Det kan kun være det - det er normalt det den der fejl betyder.
Avatar billede thomas_b Nybegynder
01. oktober 2007 - 03:27 #20
Hehe... du havde helt ret.. ref_produkt skulle være tal... ellers kunne den ikke joine!!! 1000 tak... lægger du et svar ?
Avatar billede madeindk Nybegynder
01. oktober 2007 - 03:27 #21
Cool, her er mit svar :-)
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