Hej,
om du testar att typa om det till tal då?
Clng(Request.Querystring("visaid")) eller Cint(Request.Querystring("visaid"))
För en Querystring är alltid typad som en sträng eller variant(?)
/m
7 svar · 326 visningar · startad av Meng
Ända sen jag bytte från textfält i databasen till tal fält så har jag fått en massa problem som jag inte kan förstå varför de inte fungerar..
T ex: Varför funkar inte detta?
If RecSet("gruppevalg") = RS("id") AND RecSet("gruppevalg") = Request.QueryString("visaid") Then
gruppevalg = 39
id = 39
visaid = 39
Tar jag bort querystringen så fungerar det.. men den behöver jag ju
Hej,
om du testar att typa om det till tal då?
Clng(Request.Querystring("visaid")) eller Cint(Request.Querystring("visaid"))
För en Querystring är alltid typad som en sträng eller variant(?)
/m
Både Cint och Clng fungerar men jag förstår inte varför, hur ska jag nästa gång kunna se ifall ett värde är "39" eller 39 ?
Tack för hjälpen btw :birp
Varför funkar inte detta då? är samma fel eller det finns kanske ett bättre sätt att räkna posterna.. ?
<%Set cn = Server.CreateObject("ADODB.Connection")
Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/afd.mdb")
set GF = cn.execute("SELECT count(*) as antal FROM filer WHERE gruppevalg = '39'")
Response.Write GF("antal")
GF.Close
Set GF = nothing
cn.close
Set cn=nothing%>
Du ska ju inte ha apostrofer runt värden om fälttypen är tal.
Jo jag märkte det. Tack för hjälpen..
Meng skrev:
Både Cint och Clng fungerar men jag förstår inte varför, hur ska jag nästa gång kunna se ifall ett värde är "39" eller 39 ?
Du får hålla reda på var värde kommer ifrån. Ett värde ifrån Request.Form eller Request.Querystring är till exempel alltid en sträng.
Att använda prefix på variablerna, och se till att variablerna alltid innehåller den datatyp de ska, är en bra hjälp för att kunna undvika typblandningsfel.
Exempel:
lngVisaId = CLng(Request.Querystring("visaid"))
Detta skyddar även mot en mindre känd form av SQL injections:
http://www.aspsidan.se/default.asp?page=readArticle&menu=2&aId=334