webForumDet fria alternativet
Logga in / Bli medlem

Problem vid byta av Text -> Tal

ASP

5 svar · 279 visningar · startad av erika

Medlem sedan juli 200048 inlägg
Frågan#1

Har fått problem, har en databas som har en tabell med ID som en kolumn som tidigare varit textfält men som jag nu ändrat till TAL.

Nu får jag dock felmeddelande vid laddning av sidan:

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

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

/anställda/uppdatera.asp, line 23

linje 23 ser ut såhär:
set user=MyConn.Execute("Select NTNamn from tabell where "&keyname&"='"&Request.QueryString("id")&"'")

Hur fixar man det? För jag måste ha ID som ett tal och inte text.

Tack på förhand mvh erika

Medlem sedan juni 200032 967 inlägg
#2

jag hade gjort så här:

strsql = "Select NTNamn from tabell where " & keyname & " = " & Request.QueryString("id")
set user = MyConn.Execute(strSQL)

felet beror på att du inte ska ha apostrofer runt värden som är tal.

mvh

Medlem sedan mars 20002 836 inlägg
#3

Hello,

när du refererar till ett fält med fältypen TAL (Int) så kan du ej ha ' fnuttar runt det,

Ändrat:
set user=MyConn.Execute("Select NTNamn from tabell where "&keyname&"= " & Request.QueryString("id") & "")

cya,

Medlem sedan mars 20002 836 inlägg
#4

Anders,
aj, aj ... nu va du snabbare än jag ...

Medlem sedan juli 200048 inlägg
#5

tackar funkade fint på första stället men kom vidare nu och ersatte

bild=MyConn.Execute("Select BildUrl from tabell WHERE AnstID='"&Request.QueryString("id")&"'")
bild=bild(0)

med

bild=MyConn.Execute("Select BildUrl from tabell WHERE "&AnstID&"= " & Request.QueryString("id") & "")
bild=bild(0)

och får då följande felmeddelande:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access 97 Driver] Syntax error (missing operator) in query expression '= 1009'.

/anställda/uppdatera.asp, line 41

Tack för den snabba hjälpen förut!
Väldigt tacksam!

Medlem sedan juni 200032 967 inlägg
#6

är det inte så här du vill ha det?

bild=MyConn.Execute("Select BildUrl from tabell WHERE AnstID= " & Request.QueryString("id") & "")
bild=bild(0)

jag antar att AnstID inte är en variabel, utan ett fältnamn.

mvh

266 ms totalt · 4 externa anrop · v20260731065814-full.9f690c5d
133 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
134 ms — ändringar (db)