03. maj 2004 - 14:54Der er
9 kommentarer og 1 løsning
dato1 > dato2 i SQL og ASP
Hej. Jeg er igang med et forum hvor brugeren skal kunne se hvormange indlæg der er nyere end sidst han tjekkede ind. Jeg har fundet ud af at konvertere datoen til MySQL DateNTime format (yyyy-mm-dd hh:nn:ss). Dog sker der noget mystisk når jeg gæmmer denne dato i en session variable, den konverterer til dansk dato format uden at jeg beder den om det...
Kommunerne har digitaliseret indgangen for borgerne. Men bag skærmen håndteres mange arbejdsgange stadig manuelt mellem systemer, mails og organisatoriske siloer.
Okay jeg har sat session.LCID = 1036 (den franske) det virker tildels... Mit problem er stadig at den finder ud af ved de to yderset fora (der er 3 i alt) at der ikke er nogen nye posts (den skal finde ud af at der ikke er nogen i alle 3). Men i den midterste siger den at der er en ny post.
min kode der ser således ud: SQL = "SELECT COUNT(*) as NEW FROM forum WHERE forum = '" & RSFOR("forum") & "' AND '" & RSMES_last("datentime") & "' > '" & session("sidstonline") & "'"
Både table og den første col hedder "forum" mens datoen for posten ligger i "datentime" og sidstonline er den dato der skal tjekkes med...
det lader til at den ikke kører med yyyy-mm-dd på sql-serveren men med yyyy-dd-mm.
Der er altid problemer med at finde det rigtige format, uanset hvad man gør.
prøv at bruge denne funk på dine datoer når du bruger dem med databasen.
Function ConvertToSqlDatetime(dato) dim SQLYear,SQLMonth,SQLDay,SQLHour,SQLMinute ' response.write "dskb " & dato SQLYear = Year(dato) SQLMonth = Month(dato) SQLDay = Day(dato) SQLHour = Hour(dato) SQLMinute = minute(dato) if SQLDay<10 then SQLDay = 0&SQLDay end if if SQLMonth<10 then SQLMonth = 0&SQLMonth end if ConvertToSqlDatetime = SQLYear"-"&SQLDay&"-"&SQLMonth&" "&SQLHour&":"&SQLMinute End Function
det er der ikke noget at sige til.... "04/05/2004 22:30:30 > 06/05/2004 16:05:31" vil aldrig være opfyldt. Er det måske:
SQL = "SELECT COUNT(*) as NEW FROM forum WHERE forum = '" & RSFOR("forum") & "' AND '" & RSMES_last("datentime") & "' < '" & session("sidstonline") & "'"
istedet??? eller skulle det ikke være et dato felt på selecten???
SQL = "SELECT COUNT(*) as NEW FROM forum WHERE forum = '" & RSFOR("forum") & "' AND ForumDateInserted > '" & session("sidstonline") & "'"
tja der var nok et eller andet galt, men jeg har fået at vide at det har noget med min dataskruktur at gøre... så pointne går til medion fordi det er datediff() der skal benyttes...
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.