Just4fun skrev at jeg skulle bruge noget MsSQL, jeg har bare aldrig arbejde med MsSQL før, så jeg har lige nogle spørgsmål, som nogen af jer måske kan svarer på.
Nu har jeg allerede spurgt om dette i det andet spørgsmål, men jeg vil lige rids det op.
Nu kan i jo se hvad Just4fun har skrevet af forslag, men hvordan skal MsSQL skrives ind i min kode ?
Jeg regner med at MsSQL kan køre sammen med Access, men hvordan ? Skal jeg lave noget om i min forbindelse til database eller ?
SQL Koden er næsten identisk, det er således kun din database forbindelse, altså din "DSN" der skal ændres. Men har du adgang til en MSSQL DB server? Den er ikke ligesom Access, det kræver server software, og den er ikke billig.
for at køre msSQL skal din server understøtte det!! - og access og msSQL er langt fra det samme, men SQL sætningerne er helt ens. Det er som orca siger kun DSN (opkald til databasen) der skal ændres!
Mit råd vil være at holde dig til access, medmindre dit webhotel understøtter msSQL, hvilket det ikke så ud til!
Jeg ved godt at det er nemmere, men nu gider jeg ikke lige at lave min struktur om, men jeg har prøvet at lave det som erikjacobsen foreslog, men serveren "hænger" bare, hvis jeg prøver at køre scriptet:
Set conntemp = Server.CreateObject("ADoDB.Connection") conntemp.open DSN SQLNYEINDLAEG = "SELECT * FROM F_EMNER, F_SVAR" Set rsNyeIndlaeg = conntemp.execute(SQLNYEINDLAEG)
If Not (rsNyeIndlaeg.BOF or rsNyeIndlaeg.EOF) Then Set conntemp = Server.CreateObject("ADoDB.Connection") conntemp.open DSN SQLFINDEMNE = "SELECT TOP 5 * FROM F_EMNER ORDER BY F_E_DATO ASC" Set rsNyeFindEmne = conntemp.execute(SQLFINDEMNE)
If Not rsNyeFindEmne.EOF Then
EmneDato = rsNyeFindEmne("F_E_DATO")
Do While Not rsNyeFindEmne.EOF ListDato = ""& EmneDato &",""" Loop ListDato = Left(ListDato,Len(ListDato)-1) ArrDato = Split(ListDato,",") End If
Response.Write " <table style=""border-left: 1 solid #000000; border-right: 1 solid #000000; border-bottom: 1 solid #000000"" bgcolor=""#336699"" align=""center"" border=""0"" cellpadding=""1"" cellspacing=""0"" width=""100%"">"& vbCrLf Response.Write " <tr>"& vbCrLf Response.Write " <td>"& vbCrLf Do While Not rsNyeIndlaeg.EOF Response.Write " <img src=""images/pil.gif""> "& FormatDate(rsNyeFindEmne("F_S_DATO"), 4) &" - <a href=""visemne.asp?eid="& rsNyeFindEmne("EID") &"&fid="& rsNyeFindEmne("FID") &""">"& rsNyeFindEmne("F_E_EMNE") &"</a><br>"& vbCrLf Response.Write ArrDato(5) rsNyeIndlaeg.MoveNext Loop rsNyeIndlaeg.Close : Set rsNyeIndlaeg = Nothing Else Response.Write " <center>Der er endnu ikke nogen indlæg i forummet</center>"& vbCrLf End If
psyclown-> UPS! Jeg kan se at mine forkortelser har bragt forvirring her, det må du sku undskylde... Jeg tænkte ikke over at jeg skulle have skrevet MsSqlServer .... skrev kun MsSql... Sorry...
Det gør ikke noget, jeg gider ikke at fedte mere rundt i det MsSQL server...Jeg prøver at se om jeg kan få overstående til at virke, men der er ikke rigtigt nogen der gider at hjælpe, så jeg kommer jo nok ikke længere, lige forløbigt
... testede lige.. Du kan i Access gøre det på denne måde: SQL = "select top 5 * from (" SQL = SQL & "SELECT felt1 AS f1, felt2 AS f2 FROM Table1 " SQL = SQL & "UNION " SQL = SQL & "SELECT feltx AS f1, felty AS f2 FROM Table2 " SQL = SQL & "order by f1" SQL = SQL & ")"
Jeg kan ikke se hvor svaroverskrifen skal komme fra, så jeg har hardcodet den kest der skal stå som tekst for svaret:
SELECT TOP 5 * from ( EID, FID, F_E_DATO, F_E_EMNE as myText from F_EMNER UNION EID, FID, F_S_DATO, 'Svaroverskrift' as myText From F_SVAR ORDER BY F_S_DATO DESC )
Ouch... SELECT TOP 5 * from ( SELECT EID, FID, F_E_DATO, F_E_EMNE as myText from F_EMNER UNION SELECT EID, FID, F_S_DATO, 'Svaroverskrift' as myText From F_SVAR ORDER BY F_S_DATO DESC )
Det virker jo sådan set fint nok, men problemet ligger jo i at der ikke er noget "svaroverskrift", men kan man ikke få den til at skrive Emneoverskriften på de svar som er nye, hvis du forstår
jow.. så skal man vel joine lidt ala SELECT TOP 5 * from ( SELECT EID, FID, F_E_DATO, F_E_EMNE as myText from F_EMNER UNION SELECT S.EID, S.FID, S.F_S_DATO, 'Svar til ' + E.F_E_EMNE as myText From F_SVAR as S Inner join F_EMNER as E on S.EID = E.EID ORDER BY F_S_DATO DESC )
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.