webForumDet fria alternativet

lite hjälp tack :-)

ASP

20 svar · 329 visningar · startad av jboy_87

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

gör man så här om man
vill ta ut de som fyller år idag från databasen!!

<%
set connect = server.createobject("adodb.connection")
connect.open "dsn"
sql = "select * from members where " _

& " datediff('d',now(),cdate(cstr(year(now()) " _
& " & '-' & cstr(month(fodelsedatum)) " _
& " & '-' & cstr(day(fodelsedatum)))"
set rs = connect.execute(sql)
if rs.eof then
response.write "Ingen hittades <br>"
else
while not rs.eof
response.write rs("namn") & "fyller år den " & day(rs("fodelsedatum")) & "/" & month(rs("fodelsedatum"))
rs.movenext
wend
end if
rs.close
set rs = nothing
connect.close
set connect = nothing

%>

------------------
ASP är bäst fuck the rest!!!

[Redigerat av jboy_87 den 17 jan 2002]

Medlem sedan juni 200032 967 inlägg
#2

Skriv ut SQL-frågan med response.write så ska du se att den ser konstig ut. lite mycket apostrofer och &-tecken tycker jag det ser ut som.

mvh,

Medlem sedan aug. 20011 099 inlägg
#3

får felmess
så här ser hela koden ut:

<%
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../Database/members.mdb")
set rs = connect.execute(sql)
sql = "select * from members where " _

& " datediff('d',now(),cdate(cstr(year(now()) " _
& " & '-' & cstr(month(alder)) " _
& " & '-' & cstr(day(alder)))"

if rs.eof then
response.write "Ingen hittades <br>"

else
while not rs.eof

response.write rs("username") & "fyller år den " & day(rs("alder")) & "/" & month(rs("alder"))
rs.movenext
wend
end if
rs.close
set rs = nothing
connect.close
set connect = nothing

%>

------------------
ASP är bäst fuck the rest!!!

Medlem sedan aug. 20011 099 inlägg
#4

select * from members where datediff('d',now(),cdate(cstr(year(now()) & '-' & cstr(month(alder)) & '-' & cstr(day(alder)))

------------------
ASP är bäst fuck the rest!!!

Medlem sedan juni 200032 967 inlägg
#5

Nja, den kanske inte ser så otroligt konstig ut, och nu är den lite lättare att läsa. ;)

Men ska du inte jämföra datediff()-uttrycket med något värde?

Medlem sedan aug. 20011 099 inlägg
#6

i databasen har jag typ 1987 04 30 det kommer inte och funka med det koden!!
hur ska man göra???

------------------
ASP är bäst fuck the rest!!!

Medlem sedan dec. 200012 464 inlägg
#7
sql = "select * from members where " _
& " datediff('d',now(),cdate(cstr(year(now())) " _
& " & '-' & cstr(month(alder)) " _
& " & '-' & cstr(day(alder)))) = 0"

Det saknades någon parentes

------------------
essentitia preter non sans multiplicandum

Medlem sedan aug. 20011 099 inlägg
#8

nu ser hela ut så:

<%
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../Database/members.mdb")
set rs = connect.execute(sql)

sql = "select * from members where " _
& " datediff('d',now(),cdate(cstr(year(now())) " _
& " & '-' & cstr(month(alder)) " _
& " & '-' & cstr(day(alder)))) = 0"

if rs.eof then
response.write "Ingen hittades <br>"
else
while not rs.eof
response.write rs("namn") & "fyller år den " & day(rs("alder")) & "/" & month(rs("alder"))
rs.movenext
wend
end if
rs.close
set rs = nothing
connect.close
set connect = nothing

%>

får:

Feltyp:
Körningsfel i Microsoft VBScript (0x800A01A8)
Objekt krävs.: ''
/Start/fodelsedagsbarn.asp, line 7

------------------
ASP är bäst fuck the rest!!!

Medlem sedan dec. 200012 464 inlägg
#9

Det förra fungerar enbart om alder är datetime i databasen. Om du har YYYY MM DD så borde detta gå.

sql = "select * from members where " _
& " datediff('d',now(),cdate(cstr(year(now())) " _
& " & '-' & mid(alder,6,2) " _
& " & '-' & mid(alder,9,2)) = 0"

Jag tycker att du bör byta datatyp till datetime dock.

------------------
essentitia preter non sans multiplicandum

Medlem sedan juni 200032 967 inlägg
#10

Vilken rad är 7?

Har du skapat objektet Connect?

Medlem sedan aug. 20011 099 inlägg
#11

LarsG tack för tipset men då måste jag göra om koder och det e jobbigt hehe :)

------------------
ASP är bäst fuck the rest!!!

Medlem sedan aug. 20011 099 inlägg
#12

Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../Database/members.mdb")

------------------
ASP är bäst fuck the rest!!!

Medlem sedan juni 200032 967 inlägg
#13

Har du skapat objektet Connect?

Medlem sedan okt. 20005 273 inlägg
#14
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../Database/members.mdb")
....osv osv

------------------
-::| a tribute to LarsG |::-

Medlem sedan aug. 20011 099 inlägg
#15

ops förlåt det va fel mess så här:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E0C)
Det angavs inte någon kommandotext för kommandoobjektet.
/Start/fodelsedagsbarn.asp, line 11

------------------
ASP är bäst fuck the rest!!!

Medlem sedan juni 200032 967 inlägg
#16

Du har din execute innan SQL-frågan är skapad.

Flytta ner den så den körs efter.

Medlem sedan aug. 20011 099 inlägg
#17
<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../Database/members.mdb")

sql = "select * from members where " _
& " datediff('d',now(),cdate(cstr(year(now())) " _
& " & '-' & mid(alder,6,2) " _
& " & '-' & mid(alder,9,2)) = 0"

set rs = connect.execute (sql)

if rs.eof then
response.write "Ingen hittades <br>"
else
while not rs.eof
response.write rs("namn") & "fyller år den " & day(rs("alder")) & "/" & month(rs("alder"))
rs.movenext
wend
end if
rs.close
set rs = nothing
connect.close
set connect = nothing

%>

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] ), ], eller Item saknas i frågeuttrycket 'datediff('d',now(),cdate(cstr(year(now())) & '-' & mid(alder,6,2) & '-' & mid(alder,9,2)) = 0'.
/Start/fodelsedagsbarn.asp, line 17

------------------
ASP är bäst fuck the rest!!!

Medlem sedan dec. 200012 464 inlägg
#18
sql = "select * from members where " _
& " datediff('d',now(),cdate(cstr(year(now())) " _
& " & '-' & mid(alder,6,2) " _
& " & '-' & mid(alder,9,2))) = 0"

Det är en parentes för lite i slutet.

------------------
essentitia preter non sans multiplicandum

Medlem sedan aug. 20011 099 inlägg
#19

Feltyp:
ADODB.Recordset (0x800A0CC1)
Objektet kunde inte hittas i mängden med det begärda namnet eller numret.
/Start/fodelsedagsbarn.asp, line 22

------------------
ASP är bäst fuck the rest!!!

Medlem sedan dec. 200012 464 inlägg
#20

Då är det ett felaktigt kolumnnamn på denna rad

response.write rs("namn") & "fyller år den " & day(rs("alder")) & "/" & month(rs("alder"))

Eftersom alder inte är ett datum så kan du inte använda day och month

response.write rs("namn") & "fyller år den " & mid(rs("alder"),6,2) & "/" & mid(rs("alder"),9,2)

------------------
essentitia preter non sans multiplicandum

266 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)