webForumDet fria alternativet

Byta från Tal till Text i databasen!

ASP

10 svar · 323 visningar · startad av trexter.com

Medlem sedan apr. 20021 203 inlägg
Frågan#1

... har fått byta vissa kolummer från t.ex. tal till text och helt plötsligt fungerar ingenting! Har bytt orderID från tal till text

Första stället som det är fel:

	Sent = "UPDATE orders SET Sent = #" & Date & "# WHERE orderID = " & TheArray(i) & " "
	Connect.Execute(Sent)

Sent är av typen datum... får felmeddelandet:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

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

Andra stället:

   			Find = "SELECT * FROM orders WHERE orderDate BETWEEN '" & Request.Form("from") & "' AND '" & Request.Form("to") & "'"

orderDate är Datum och från "from" och "to" får man två datum, t.ex. 2002-01-01 (Fungerade innan...) Felmeddelande:

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

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

Tredje stället:

		Find = "SELECT * FROM orders WHERE orderID = " & Request.QueryString("orderID") & " "
			RecSet.Open Find, Connect, adOpenStatic, adLockOptimistic

orderID är text, var innan (när det fungerade) tal.
Felmeddelande:

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

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

-------------------------------------

Jättetrevligt om någon snabbt kan beta av koden och hjälpa mig hitta felet, eller rättare sagt hur jag ska skriva!
:)

Medlem sedan dec. 20002 526 inlägg
#2
Sent = "UPDATE orders SET Sent = '"#" & Date & "#"' WHERE orderID = '" & TheArray(i) & "'"
	Connect.Execute(Sent)

och...

Find = "SELECT * FROM orders WHERE orderID = '" & Request.QueryString("orderID") & "'"
			RecSet.Open Find, Connect, adOpenStatic, adLockOptimistic

borde funka om jag fattat det helt rätt...

Medlem sedan juni 200032 967 inlägg
#3

Alltid apostrofer runt textvärden, aldrig runt talvärden i SQL. Varför har du bytt datatyp?

Mvh,

Medlem sedan dec. 20002 526 inlägg
#4

ey

Medlem sedan apr. 20021 203 inlägg
#5

Crisse 6, fick ett felmeddelande på en utav dem:

Microsoft VBScript compilation error '800a0401' 

Expected end of statement 

/a/modifydb.asp, line 13 

Sent = "UPDATE orders SET Sent = '"#" & Date & "#"' WHERE orderID = '" & TheArray(i) & "' "
-----------------------------------^

Anders: Eftersom jag ville ha bokstäver i fältet! :D

Medlem sedan dec. 20002 526 inlägg
#6

#"& Date &"#"

ska nog fungera... ???

Medlem sedan apr. 20021 203 inlägg
#7

Det blir inget felmeddelande men ingenting läggs in databasen.
:)

Medlem sedan feb. 200112 078 inlägg
#8

Vad innehåller variablarna?

Medlem sedan dec. 20002 526 inlägg
#9

skriv now istället för Date

Medlem sedan jan. 20022 440 inlägg
#10
Sent = "UPDATE orders SET Sent = #" & NOW() & "# WHERE orderID = " & TheArray(i) & " "

Ska nog fungera ;)

Medlem sedan dec. 20002 526 inlägg
#11
" & TheArray(i) & "

ska väl ha ' runt sig eftersom han hade väl ändrat det till Text?

260 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)