För att uveckla vad Vide just sa innebär det att du inte kan köra cInt() på något utav följande strängar
strang = "y1"
strant = "anna"
men följande går bra
strang = "11"
strang = "29849834"
Det du kan göra är följande:
Function noAlph(ByVal sText)
Dim oRegExp
Set oRegExp = New RegExp
oRegExp.Pattern = "\D"
oRegExp.Global = True
oRegExp.Execute(sText)
noAlph = oRegExp.Replace(sText, "")
End Function
strang = noAlph("hejsan11hejdå")
strang kommer då få värdet "11", som du sedan kan köra cInt på..
cInt står för ConvertToInteger, alltså att man konverterar en sträng, eller vad det nu är, till en integer. Int gör bara om en double, float eller något till ett heltal, alltså tar bort decimaler från ett redan existerande numeriskt värde.
Om man jämför ett värde i en databas med ett värde som man skickar så måste det skickade värdet ha rätt typ. Nu menar jag efter själva sql satsen liksom...
SQL = "SELECT * FROM [agenda]"
set mySQL = Conn.Execute(SQL)
DO UNTIL mySQL.EOF
IF mySQL("x_date") = CDate(request("date")) THEN response.write "happy birthday"
mySQL.MoveNext
LOOP
Om du får strängfel skulle jag gissa på att du inte bara har numeriska värden i din QueryString.
icaaq: Läs om mitt inlägg... cInt konverterar icke-tal variabler, strängar/chars/osv, till heltal, medans Int konverterar tal variabler, doubles/float/osv, till heltal.
Min QueryString innehåller bara numreriska värden, typ 1,2,3 etc. Är inte det tillräckligt eller måste jag behandla variabeln med dessa värden innan jag skickar med dom i QueryStringen?