![]() |
|
|
|||||||
| ASP Diskussioner om Active Server Pages, med relaterade scriptspråk (klassisk asp). |
![]() |
|
|
Trådverktyg | Visningsalternativ |
|
|
#1 |
|
Medlem
Registrerad: 2001-06-29
Ort: Fort Lauderdale, Florida
Inlägg: 3 568
Lösningar: 37 |
Sql sats
Hej
Har en tabell som heter Anvandare. Där har jag ett fält som heter bostadshyra (tal). Sedan har jag även ett datumfält som heter shyra, det finns även ett fält som heter pixlar (tal). Hur ska jag göra så att värdet i pixlar minskas med värdet ifrån bostadshyra och så ska den bara göra det en gång per dag på alla användare ?? |
|
|
|
|
|
#2 |
|
Medlem
Registrerad: 2000-12-29
Ort: Uppsala
Inlägg: 3 105
Lösningar: 127 |
SQL = "UPDATE Anvandare SET pixlar = pixlar - bostadshyra"
För att det endast skall köras en gång per dag så skulle du kunna skapa en stored procedur och lägga in denna i schemaläggaren. (MS SQL) Om du inte har den möjligheten så kan du alltid köra en lite mindre snygg variant att varje dygn så körs denna kod såfort en användare kommer in på sidan. Och när denna kod körs så skriver du in dagens datum i t.ex. en textfil. Kod:
'Lite lättare att skriva koden kanske? ;) if textfilens_första_rad = dagens_datum then ' Du behöver inte köra något alls! else ' Här kör du koden ' Här skriver du in dagens datum i textfilen. end if Om ingen går in på sidan på 2 dygn så kommer koden inte att köras två gånger som det är tänkt, utan bara en gång.
__________________
-If a word in the dictionary were mispelled, how would we know? / Steven Wright |
|
|
|
|
|
#3 |
|
Medlem
Registrerad: 2001-06-29
Ort: Fort Lauderdale, Florida
Inlägg: 3 568
Lösningar: 37 |
Kan jag inte köra någon typ datediff på datumet jag har i shyra?
|
|
|
|
|
|
#4 |
|
Medlem
Registrerad: 2001-06-29
Ort: Fort Lauderdale, Florida
Inlägg: 3 568
Lösningar: 37 |
re: glömde en sak... om man inte har tillräckligt på pixlar, alltså att det värdet går på minus, då ska fältet hepp uppdateras till 1
|
|
|
|
|
|
#5 |
|
Medlem
Registrerad: 2000-12-29
Ort: Uppsala
Inlägg: 3 105
Lösningar: 127 |
Jo självklart.
Men om du skall ha den så att SQL-satsen körs varje gång någon kommer in på sidan så tar ju det lite resurser. Den kan alltså komma att köras flera gånger per dag, utan att det egentligen uppdateras något eftersom det bara görs första gången.
__________________
-If a word in the dictionary were mispelled, how would we know? / Steven Wright |
|
|
|
|
|
#6 |
|
Medlem
Registrerad: 2001-06-29
Ort: Fort Lauderdale, Florida
Inlägg: 3 568
Lösningar: 37 |
ok. Men jag kan inte det alls det du skrev först :/
|
|
|
|
|
|
#7 | |
|
Medlem
Registrerad: 2001-11-15
Ort: Järna
Inlägg: 7 050
Lösningar: 182 |
Citat:
Menar du något annat kanske du kan förklara vad du inte kan. |
|
|
|
|
|
|
#8 | |
|
Medlem
Registrerad: 2000-12-29
Ort: Uppsala
Inlägg: 3 105
Lösningar: 127 |
Citat:
__________________
-If a word in the dictionary were mispelled, how would we know? / Steven Wright |
|
|
|
|
|
|
#9 |
|
Medlem
Registrerad: 2001-06-29
Ort: Fort Lauderdale, Florida
Inlägg: 3 568
Lösningar: 37 |
oj kanske var lite otydlig. Jag menar det med att skriva till en text fil och bara köra den en gång om dagen.
|
|
|
|
|
|
#10 |
|
Medlem
Registrerad: 2001-11-15
Ort: Järna
Inlägg: 7 050
Lösningar: 182 |
Något liknande kanske:
Kod:
<%
Dim idag
Set fso = CreateObject("Scripting.FileSystemObject")
Set fil = fso.OpenTextFile("c:\datum.txt", ForReading)
idag = fil.ReadAll
fil.close
if not Cdate(idag) = date() then
'databaskrafs
SQL = "UPDATE Anvandare SET pixlar = pixlar - bostadshyra"
'Annat databaskrafs
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
set objFile = objFSO.OpenTextFile( "C:\datum.txt", 2 )
objFile.Write date()
end if
%>
Senast redigerad av Jesper T, 2003-04-17 klockan 16:06 |
|
|
|
|
|
#11 |
|
Medlem
Registrerad: 2001-11-15
Ort: Järna
Inlägg: 7 050
Lösningar: 182 |
Om du inte kan använda den fysiska sökvägen så får du använda: fso.OpenTextFile(Server.MapPath("datum.txt"), ForReading)
|
|
|
|
![]() |
| Trådverktyg | |
| Visningsalternativ | |
|
|