19. juli 2001 - 09:55
Der er
28 kommentarer og 1 løsning
Formatering af textfelter
Hejsa Jeg vil gerne høre om man kan formatere et text-felt til et bestemt dato-format! Textfeltet indeholder fx. texten 12-06-2001, som jo er en dato, men i et textfelt!! Kan jeg på nogen måde konvertere den text så det bliver opfattet som dato? Jeg skal bruge det til et kriterie der gør, at en nyhed/post kun ligger på forsiden \"Aktuelle\" i fx. 14 dage! Jeg har pt. følgende kode som virker fint på en Access2000 DB, men ikke på den Oracle DB som jeg bruger til dette projekt: rs.Open \"SELECT * FROM CD_ny,Biografi WHERE Release > Date()-14 ORDER BY Id DESC\", Connect, 1, 3 men det giver følgende fejl: Microsoft OLE DB Provider for ODBC Drivers error \'80040e21\' ODBC driver does not support the requested properties. /new/Scanbox_com_ny/scanbox/sider/aktu_albums.asp, line 14 Linie 14 er den ovenfor skrevne \"rs.Open....\" Håber der er nogen der kan hjælpe! Flere point er i vente hvis der kommer et hurtigt og godt svar!
Annonceindlæg fra COMM2IG
to_date(textfelt,\'format\') //Claus
F.eks. to_date(\'12-06-2001\',\'dd-mm-yyyy\')
Er det et ASP dokument du er i gang med, eller hvad er det noget?
Ja - det er et ASP-dokument! De poster der er mere end 14 dage gamle skal ikke vises under aktuelle! Det vil altså sige at følgende vil være korrekt?: to_date(rs(\"Release\"),\'dd-mm-yyyy\')
Nej, jeg er lidt i tvivl om hvorvidt to_date virker - men prøv: \"to_date(\" & rs(\"Release\") & \",\'dd-mm-yyyy\')\" //Claus
Nope - får følgende fejl: Microsoft VBScript compilation error \'800a03ee\' Expected \')\' /new/Scanbox_com_ny/scanbox/sider/aktu_albums.asp, line 16 to_date = (\"&rs(\"Release\")&\",\'dd-mm-yyyy\') -----------------^
Hovsa! Godmorgen\" Snork! 1. Du selecter fra 2 tabeller uden at have reference imellem dem? Det kan man godt men er det også det du vil? 2. Er release oprettet som tekstfelt i basen? 3. Vi skal slet ikke bruge recordsættet!!!! //Claus
1: Okay - den med 2 tabeller uden reference er nu rettet, så der kun selectes fra CD_ny 2: Release er oprettet som tekstfelt i DB, ja! 3: Det er jo indholdet i tekstfeltet der skal formateres!?
Skal iøvrigt bruge info fra begge tabeller! ;o)
19. juli 2001 - 10:48
#10
Min sql ser nu sådan ud: rs.Open \"SELECT * FROM CD_ny,Biografi WHERE (CD_ny.Art_id=Biografi.Art_id) AND Release > Date()-14 ORDER BY Id DESC\", Connect, 1, 3
19. juli 2001 - 10:52
#11
Okay så prøv: rs.Open \"SELECT * FROM CD_ny,Biografi WHERE (CD_ny.Art_id=Biografi.Art_id) AND Release > (sysdate-14) ORDER BY Id DESC\", Connect, 1, 3
19. juli 2001 - 10:59
#12
Har nu lavet følgende: rs.Open \"SELECT * FROM CD_ny WHERE Release > (sysdate-60) ORDER BY Id DESC\", Connect, 1, 3 Laver derefter et nyt recordset, som henter de informationer fra Biografi-tabellen som jeg skal bruge. Men den kan åbenbart ikke finde de tilhørende informationer fra Biografi, selv om der er oprettet informationer i Biografi!
19. juli 2001 - 11:02
#13
??? Står der overhovedet noget i det første recordsæt?
19. juli 2001 - 11:04
#14
Det skulle der gerne - har en post hvor release er 12-06-2001 og det er da ikke mere end 60 dage gammel! ;o)
19. juli 2001 - 11:07
#15
Hmmm - koden ser ud til at slå vores webserver ihjel nu!
19. juli 2001 - 11:11
#16
Kan fint kalde informationerne når jeg ikke har min WHERE-clause på, men når jeg smider en where-clause på slår den serveren ihjel!
19. juli 2001 - 11:20
#17
Hvor mange records har du i dine tabeller?
19. juli 2001 - 11:22
#18
Der ligger 1 i tabellen CD_ny og 3 i tabellen Biografi og begge har et felt der hedder Art_id som indeholder en tal-værdi, så man kan se at den aktuelle CD hører til den bestemte biografi!
19. juli 2001 - 11:23
#19
Har nu følgende som ikke giver fejl, men heller ikke viser noget: Set rs = Server.CreateObject(\"ADODB.Recordset\") rs.Open \"SELECT * FROM CD_ny WHERE Release > (sysdate-60) ORDER BY Id DESC\", Connect, 1, 3 Set rs_navn = Server.CreateObject(\"ADODB.Recordset\") rs_navn.Open \"SELECT * FROM Biografi WHERE Art_id=\"&rs(\"Art_id\"), Connect, 1, 3 Her bliver informationerne vist: <% If (rs.bof OR rs.eof OR rs_navn.bof OR rs_navn.eof) Then response.write(\"\") Else do until rs.eof %> <tr> <td width=\"150\"> <font face=\"Arial\" size=\"1\" color=\"#003366\"><%=rs(\"Titel\")%></font> </td> <td width=\"250\"> <font face=\"Arial\" size=\"1\" color=\"#003366\"></font> </td> <td width=\"100\"> <font face=\"Arial\" size=\"1\" color=\"#003366\"><%=rs(\"Release\")%></font> </td> </tr> <% rs.movenext loop End if %>
19. juli 2001 - 11:24
#20
Og feltet ID hvor ligger det?
19. juli 2001 - 11:25
#21
Det ligger i begge tabeller, men er ikke nødvendigvis det samme, mens ART_ID krydsrefereres og skal være det samme!
19. juli 2001 - 11:28
#22
Jeg tænker på \"order by ID\" Skal du ikke loope når du skal læse fra biografi, for du kan jo ikke være sikker på, kun at modtage een record fra CD_ny?
19. juli 2001 - 11:31
#23
Feltet ID bruges bare til sortering...ikke andet og skulle ikke have nogen betydning for resten så vidt jeg ved! Har nu loopet begge recordset, men det ændrer ikke noget!
19. juli 2001 - 11:35
#24
Vi prøver at fjerne order by for en tid - bare et forsøg ;o) Samtidig laver vi kun een forespørgsel: rs.Open \"SELECT * FROM CD_ny,Biografi WHERE (CD_ny.Art_id=Biografi.Art_id) AND Release > (sysdate-60)\", Connect, 1, 3
19. juli 2001 - 11:42
#25
Nope - det slår serveren ihjel! *G*
19. juli 2001 - 11:44
#26
:o( Har ingen anelse om hvad der sker - beklager!!! Men det kan s.. ikke være sql\'en som slår webserveren ihjel - det nægter jeg at tro. Vi venter og ser om der kommer et klogt hoved forbi på et tidspunkt ;o)
19. juli 2001 - 11:46
#27
Oki - men du skal i hvert fald have tak for din indsats! ;o)
19. juli 2001 - 11:49
#28
Bare OK
19. juli 2001 - 13:00
#29
Lukker spørgsmålet i denne kategori og prøver i ASP!
Computerworld tilbyder specialiserede kurser i database-management