webForum webForum sponsras med lina och serverplats av Binero AB

Gå tillbaka   webForum > Utveckling > Webbutveckling > ASP

ASP Diskussioner om Active Server Pages, med relaterade scriptspråk (klassisk asp).

Svar
 
Trådverktyg Visningsalternativ
Äldre 2001-09-19, 14:15   #1
klementin
Medlem
 
klementins avatar
 
Registrerad: 2001-08-16
Ort: Stockholm
Inlägg: 128
Lösningar: 2
fråga Idiot fråga ang. Date()

Hej!
Har en databas (Access) där olika personers födelsedatum finns. Dom är skrivna så här: 1972-09-19, och nu vill jag selektera ut dom som är födda på dagensdatum. Alltså alla som är födda tex. 09-19. Hur gör jag detta. Så här ser koden ut just nu:

SQL = "SELECT * FROM UserInfo WHERE UserBornDate = '" & Date() & "' ORDER BY UserLastName ASC"

Men då hämtar den ju bara personer som är födda 2001-09-19.

En fråga till...
Jag brukar alltid ta SELECT * FROM bla bla bla, när jag selekterar, försämrar detta prestandan eftersom jag använder ju knappast alla uppgifter den hämtar då, utan borde jag välja vad den ska hämta från databasen? Förstår ni (jag fattar knappt själv vad jag skrev)?

Tack på förhand

------------------
/Klementin
-----------------------
C:\DOS
C:\DOS\Run
Run DOS Run
-----------------------
__________________
-----------------------
KLEMENTiN
-----------------------
C:\DOS
C:\DOS\Run
Run DOS Run
-----------------------
klementin besöker inte forumet just nu   Svara med citat
Äldre 2001-09-19, 14:29   #2
Jörgen HP
Avregistrerad
 
Registrerad: 2001-02-03
Inlägg: 2 179
Lösningar: 3
meddelande

Hej!

Ja, du hämtar ju en massa onödigt.

skriv tex istället:

Kod:
strSQL = "SELECT namn, adress, epost FROM tabellen " & _
" ORDER BY namn DESC "
om du nu inte ska använda alla fält i databasen.

mvh Jörgen

------------------
"Ett väl utfört arbete ger en inre tillfredsställelse och är den grund varpå samhället vilar."

[Redigerat av jorgen den 19 sep 2001]
Jörgen HP besöker inte forumet just nu   Svara med citat
Äldre 2001-09-19, 14:31   #3
Frejan
Medlem
 
Registrerad: 2001-06-12
Ort: Linköping
Inlägg: 45
Lösningar: 0
meddelande

Prova med WHERE UserBornDate = '%09-19'

Rätta mig om jag har fel. Vild chansning...

Förmodligen helfel eftersom det var det 13:de inlägget. Hmmmm....

------------------
Det finns alltid ett bättre sätt...

[Redigerat av Frejan den 19 sep 2001]
__________________
Det finns alltid ett bättre sätt...
Frejan besöker inte forumet just nu   Svara med citat
Äldre 2001-09-19, 14:40   #4
LarsG
Medlem
Årets medlem 2001
 
Registrerad: 2000-12-03
Ort: Uppsala
Inlägg: 12 465
Lösningar: 958
leende

Kod:
SELECT * 
  FROM UserInfo 
 WHERE month(UserBornDate) = month(date)
   and day(UserBornDate) = day(date)
------------------
essentitia preter non sans multiplicandum
__________________
essentitia preter non sans multiplicandum
LarsG besöker inte forumet just nu   Svara med citat
Äldre 2001-09-19, 14:42   #5
klementin
Medlem
 
klementins avatar
 
Registrerad: 2001-08-16
Ort: Stockholm
Inlägg: 128
Lösningar: 2
meddelande

jorgen >> Okey då ska jag börja med det.

Frejan >> Nix det fungerar inte + att det ska ju vara "dynamiskt" om du förstår vad jag menar.


------------------
/Klementin
-----------------------
C:\DOS
C:\DOS\Run
Run DOS Run
-----------------------
__________________
-----------------------
KLEMENTiN
-----------------------
C:\DOS
C:\DOS\Run
Run DOS Run
-----------------------
klementin besöker inte forumet just nu   Svara med citat
Äldre 2001-09-19, 14:49   #6
klementin
Medlem
 
klementins avatar
 
Registrerad: 2001-08-16
Ort: Stockholm
Inlägg: 128
Lösningar: 2
meddelande

LarsG kan man alltid lita på :-) men nu blir det så här (jag är en nolla när det gäller ASP så det är säkert mitt fel):

Microsoft JET Database Engine (0x80040E10)
Det har inte angetts något värde för en eller flera nödvändiga parametrar.

Koden ser ut så här:

<%
SQL = "SELECT UserBornaDate, UserLastName, UserFirstName FROM UserInfo WHERE month(UserBornDate) = month(date) AND day(UserBornDate) = day(date) ORDER BY UserLastName ASC"
Set rs = Conn.Execute(SQL)
Do while not rs.EOF
%>

****

<%
rs.MoveNext
Loop

rs.Close()
Set rs = Nothing
Conn.Close
Set Conn = Nothing
%>

------------------
/Klementin
-----------------------
C:\DOS
C:\DOS\Run
Run DOS Run
-----------------------
__________________
-----------------------
KLEMENTiN
-----------------------
C:\DOS
C:\DOS\Run
Run DOS Run
-----------------------
klementin besöker inte forumet just nu   Svara med citat
Äldre 2001-09-19, 15:15   #7
Frejan
Medlem
 
Registrerad: 2001-06-12
Ort: Linköping
Inlägg: 45
Lösningar: 0
meddelande

Var ett exempel, går ju att lagra värdet på dagen du vill få ut i en vaiabel....

Men varför???

LarsG visade ju hur man gör på riktigt.

------------------
Det finns alltid ett bättre sätt...
__________________
Det finns alltid ett bättre sätt...
Frejan besöker inte forumet just nu   Svara med citat
Äldre 2001-09-19, 15:24   #8
klementin
Medlem
 
klementins avatar
 
Registrerad: 2001-08-16
Ort: Stockholm
Inlägg: 128
Lösningar: 2
meddelande

Jag ber om ursäkt om jag lät otacksam för ditt exempel men det är jag inte, tvärt om. Jag får det inte att funkta, dels pga. att jag är en idiot när det gäller ASP.

------------------
/Klementin
-----------------------
C:\DOS
C:\DOS\Run
Run DOS Run
-----------------------
__________________
-----------------------
KLEMENTiN
-----------------------
C:\DOS
C:\DOS\Run
Run DOS Run
-----------------------
klementin besöker inte forumet just nu   Svara med citat
Äldre 2001-09-20, 16:33   #9
LarsG
Medlem
Årets medlem 2001
 
Registrerad: 2000-12-03
Ort: Uppsala
Inlägg: 12 465
Lösningar: 958
leende

Det felmeddelande som du fick beror oftast på att man skrivit ett felaktigt kolumn- eller tabellnamn i sql-frågan.

Kod:
<%
SQL = "SELECT UserBornDate, UserLastName, UserFirstName FROM UserInfo WHERE month(UserBornDate) = month(date) AND day(UserBornDate) = day(date) ORDER BY UserLastName ASC"
Set rs = Conn.Execute(SQL) 
Do while not rs.EOF
%>
Du hade skrivit userBornaDate på ett ställe men userBornDate på andra, så det är kanske det som är felet.


------------------
essentitia preter non sans multiplicandum
__________________
essentitia preter non sans multiplicandum
LarsG besöker inte forumet just nu   Svara med citat
Äldre 2001-09-20, 18:05   #10
klementin
Medlem
 
klementins avatar
 
Registrerad: 2001-08-16
Ort: Stockholm
Inlägg: 128
Lösningar: 2
meddelande

Stämmer bra det (man har lite för bråttom ibland). Nu fungerar det klockrent. Ett stort TACK till er alla :-)


------------------
/Klementin
-----------------------
C:\DOS
C:\DOS\Run
Run DOS Run
-----------------------
__________________
-----------------------
KLEMENTiN
-----------------------
C:\DOS
C:\DOS\Run
Run DOS Run
-----------------------
klementin besöker inte forumet just nu   Svara med citat
Svar
webForum > Utveckling > Webbutveckling > ASP

Trådverktyg
Visningsalternativ

Forumregler
Du får inte posta nya trådar
Du får inte posta svar
Du får inte bifoga filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är av
HTML-kod är av

Forumhopp


Alla tider är i GMT +1. Klockan är nu 12:28.


Powered by: vBulletin Version 3.8.6
Copyright © webForum