webForumDet fria alternativet

fel uträkning

ASP

2 svar · 197 visningar · startad av jboy_87

Medlem sedan aug. 20011 099 inlägg
Frågan#1

så här ser sql satsen ut

Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("Database/Medlemmar.mdb")
sql = "select * from Medlemmar where datediff('d',now(),cdate(cstr(year(now()))"&" & '-' & mid(Fodd,6,2) "& " & '-' & mid(Fodd,9,2))) = 0"
set recset = connect.execute (sql)
response.write recset.recordcount

och så här blir det när jag skriver ut recset.recordcount

-1 istället för 1 osv..

Medlem sedan feb. 200112 078 inlägg
#2

För det första; du måste använda 'SET' framför raden där du skapar adodb.connection. :)

Vidare kan du inte använda execute-metoden om du skall utnyttja recordcount. Du måste öppna med en annan cursortype.

[b]set[/b] Connect = Server.CreateObject("ADODB.Connection") 
set recset = Server.CreateObject("ADODB.RecordSet") 
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("Database/Medlemmar.mdb")
sql = "select * from Medlemmar where datediff('d',now(),cdate(cstr(year(now()))"&" & '-' & mid(Fodd,6,2) "& " & '-' & mid(Fodd,9,2))) = 0"
[b]recset.open sql, connect, 3, 3[/b]
response.write recset.recordcount

Det där borde fungera.

Den andra feta raden hänvisar jag från detta inlägg av @nders, då jag inte är 100% säker på parametrarna.

Medlem sedan aug. 20011 099 inlägg
#3

jepp råka sudda bort set
tack funkar bra!

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