21. august 2003 - 09:41
Der er
9 kommentarer og 1 løsning
Syntaks fejl i mit ASP script
Når jeg linker til en nyhed fra min Access database får jeg følgende fejl: [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression. Sådan linker jeg: response.write "<TD width=100% ><font style='font-family:verdana; font-size:8 pt; color:#800000; font-weight:bold;'>" & "<a target=prodframe href=""newsprodframe.asp?ID=" & ID & """>" & rsForside("dato") & " - " & rsForside("overskrift") & "</a>" & vbCrLf & "</font>" Her er mit ASP-script som melder fejl: <% strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/database/nyheder.mdb") Set myCon = Server.CreateObject("ADODB.Connection") myCon.Open strDSN strSQL = "Select * From nyheder WHERE (ID='::ID::')" set rsForside = myCon.execute(strSQL) ' con er din connection til databasen overskrift=rsForside("overskrift") tekst=rsforside("tekst") response.write "<TR width=100% >" response.write "<TD width=100% ><font style='font-family:verdana; font-size:8 pt; color:#800000; font-weight:bold;'>" & rsForside("dato") & " - " & rsForside("overskrift") & vbCrLf & "</font>" response.write "<BR>" response.write "<font style='font-family:verdana; font-size:8 pt; color:#000000;'>" & LEFT(Replace(("" & tekst & ""),vbCrLf,"<br>"),200) & "..." & vbCrLf & "</font>" response.write "<BR>" %> Jeg tror det er denne linje som er problemet: strSQL = "Select * From nyheder WHERE (ID='::ID::')"
Annonceindlæg fra Kingston Technology
21. august 2003 - 09:43
#1
strSQL = "Select * From nyheder WHERE ID='::ID::'" Hvad indeholder din id-tabel..?
21. august 2003 - 09:44
#2
skal den egentlig ikke se sådan her ud... strSQL = "Select * from nyheder where ID = " & Cint(request.querystring("id"))
21. august 2003 - 09:46
#3
eller: strSQL = "Select * From nyheder WHERE ID='"&request.querystring("id")&"'" hvis ID er et txtfelt
21. august 2003 - 09:47
#4
præcis...
21. august 2003 - 10:09
#5
Ingen grund til at bruge Cint da denne funktion caster til en integer, men som blot bliver castet tilbage til en string med & operatoren. Så blot strSQL = "Select * from nyheder where ID = " & request.querystring("id") I så fremt at jetkat har kodet sin DB korrekt og ikke valgt strings som identities :)
21. august 2003 - 10:57
#6
Stampehansens svar fungerer som det eneste, tak skal du have. Smid et svar - så skal du få dine points.
21. august 2003 - 10:58
#7
det er lige meget om der står CInt eller ej... Mit svar fungere lige som hans, hvis der er tale om et talfelt..!
22. august 2003 - 15:08
#8
Her er det :)
22. august 2003 - 15:10
#9
Og neh ellebaek. Dir svar er ikke lige som mit, du kan bare ikke se forskel jvf. min tidligere kommentar.
22. august 2003 - 19:16
#10
Stampehansen...? Må jeg spørge dig om du har prøvet det, altså om der står CInt eller ej..?
Kurser inden for grundlæggende programmering