I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
hathor > Burde dette så ikke kunne gøre det? if (datediff(now, tbl_users, "h") >= 48) then SQL = True else SQL = False End If If SQL = True Then strSQL = "DELETE FROM tbl_users WHERE godkendt="nej"" set rs = Conn.execute(strSQL) End If Kan bare ikke se hvornår den går ind og tjekker feltet Timenow?!
Slet alle der har har tilmeldt sig for mere end 48 timer siden og ikke har reageret på godkendelsesproceduren.
TimeOut = DateAdd("h", -48, Now) ' For 48 timer siden. strSQL = "DELETE FROM tbl_users WHERE godkendt='nej' and TimeNow < #" & TimeOut & "#" ' # = Access
Altså så går jeg ud fra at du har et felt i recorden der hedder TimeNow og indeholder tidspunktet for hvornår vedkommende blev sat ind. ?
Synes godt om
Slettet bruger
28. marts 2002 - 21:05#10
coltau > Jeg har feltet Timenow i MySQL db, som indeholder brugerens oprettelsestidspunkt i det format som Now() returnerer og din beskrivelse af mit formål er korrekt.
jamen så skal den virke. Men min erfaring med ASP/dato/DB siger mig at der altid er problemer. kan du ikke prøve at skrive dem ud først bare for at være sikker på at SQL-en får fat i de rigtige.
HOV. ! MySQL så skal der ikke # omkring datofeltet.
TimeOut = DateAdd("h", -48, Now) ' For 48 timer siden. strSQL = "DELETE FROM tbl_users WHERE godkendt='nej' and TimeNow < '" & TimeOut & "'"
Synes godt om
Slettet bruger
28. marts 2002 - 21:32#13
TimeOut = DateAdd("h", -48, Now) ' For 48 timer siden. strSQL = "DELETE FROM tbl_users WHERE godkendt='nej' and TimeNow < '" & TimeOut & "'" lyder MEGET rigtigt, prøver lige lidt senere (hvad skulle man dog gøre uden Coltau??)
Synes godt om
Slettet bruger
28. marts 2002 - 23:59#14
coltau > Jeg har lige prøvet med TimeOut = DateAdd("h", -48, Now) ' For 48 timer siden. strSQL = "SELECT navn FROM tbl_users WHERE godkendt='Nej' and timeNow < '" & TimeOut & "'"
Conn.Execute(strSQL) Set rs = conn.Execute(strSQL)
Response.write "<p>" & rs("navn") & "</p>"
Det virker ikke - selvom jeg har ændret timenow til '27-03-2002 23:53:20' og godkendt til 'Nej'
Fordi den dato du ser når du udskriver denne linie: Response.Write(Now) ikke betyder at det er det samme som den du ser i databasen.
Du er nødt til at lave en lille testside med følgende SQL-sætning: strSQL = "SELECT navn FROM tbl_users WHERE godkendt='Nej' and timeNow < 'dd-mm-yyyy'" For at finde ud af hvilket datoformat MySql vil have i SQL-sætninger.
jeg er 95% sikker på at du får det rigtige udtræk hvis du anvender MM-DD-YYYY
coltau > Jeg sidder med en MySQL admin og kan se indholdet af feltet timenow, og jeg VED at det indeholder indeholder strukturen 29-03-2002 00:28:49 altså Now() for det er den måde jeg sætter det ind på :o)
Synes godt om
Slettet bruger
29. marts 2002 - 00:36#18
Du mener at det ville være smartere at anvende et datoformat så "WHERE DATEDIFF(d, dato, GETDATE()) = 2" kunne bruges?
Det du ser i MySql-admin bestemmes af en eller anden opsætning i en CNF-fil eller kontrolpanelet - men det er ikke sikkert at det er det format som skal anvendes i SQL-sætninger via ADO.
Det er jeg til gengæld 100 på. Brug MM-DD-YYYY
Jeg har lige lavet denne i min danske Access/Dansk Win 98: SELECT * FROM tabel WHERE date=#12-4-2001#; og hvad får jeg: Alle med dato den 04-12-2001
Jeg har ikke erfaring med DateDiff i Sql - men den ser da rigtig ud. Jeg synes stadigvæk at du skal lave et lille eksempel så du er 100 på hvordan du skal trække datoer ud af DB-en.
Synes godt om
Slettet bruger
29. marts 2002 - 00:44#21
coltau > OK, men hvordan bruger jeg så MM-DD-YYYY? Altså når jeg indsætter data i "timenow" gør jeg det nu med Now() - hvad skal jeg bruge i stedet?
Synes godt om
Slettet bruger
29. marts 2002 - 00:52#22
I mit hovede må det da være mere præcist at arbejde med forskellen udregnet på timer, end på dato?
Du kan anvende denne funktion når du skal putte en dato ind i en SQL-sætning.
function FDateTime(Value) ' Format: MM-DD-YYYY HH:mm FDate = Month(Value) & "-" & Day(Value) & "-" & Year(Value) & " " & Hour(Value) & ":" & Minute(Value) end function
SQL = "select * from tabel WHERE dato<'" & FDateTime(Date) & "'"
Hvis du altid bruger den og du senere skal ændre formatet evt. pga. ny database eller sandet - så er det jo kun funktionen der skal ændres og ikke hele koden.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.