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,
20 svar · 329 visningar · startad av jboy_87
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]
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,
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!!!
select * from members where datediff('d',now(),cdate(cstr(year(now()) & '-' & cstr(month(alder)) & '-' & cstr(day(alder)))
------------------
ASP är bäst fuck the rest!!!
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?
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!!!
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
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!!!
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
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!!!
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../Database/members.mdb")
------------------
ASP är bäst fuck the rest!!!
Har du skapat objektet Connect?
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 |::-
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!!!
<%
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!!!
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
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!!!
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