Avatar billede asp_rookie Nybegynder
19. juni 2002 - 13:00 Der er 14 kommentarer og
1 løsning

udtræk fra db..

Hvordan trækker jeg de første 20 tegn ud af de fem første nyheder fra min db??
under nyheden skal der være en 'læs mere' knap så man får nyheden op der hvor jeg har min include fil med nyheder..
Kan det lade sig gøre??
Avatar billede kimiwan Nybegynder
19. juni 2002 - 13:29 #1
sql strengen skal se sådan her ud:

select top 5 id, left(nyhed,20) as nyhed from tabel order by dato

og så udskriver du bare sådan her:

<%
while not rs.eof
  response.write rs("nyhed")
  if len(trim(rs("nyhed")))= 20 then response.write "..."
  response.write "<br><a href=""link.asp?id=" & rs("id") & ">Læs mere</a><br><br>"
  rs.movenext
wend
%>
Avatar billede asp_rookie Nybegynder
19. juni 2002 - 13:45 #2
Har du et eksempel??
Er ikke helt sikker...:o)
Avatar billede kimiwan Nybegynder
19. juni 2002 - 13:51 #3
Øhh... eksemplet er jo lige der.  du skal bare lave din database connection og åbne recordsettet (og huske at lukke dem igen efter du er færdig med at bruge dem).  Og selvfølgelig lige huske at ændre tabel og feltnavne til dem, du har i din database.
Avatar billede asp_rookie Nybegynder
19. juni 2002 - 13:53 #4
Hvis jeg har min dbconn i en anden fil kan jeg så bare includere den i toppe??
Avatar billede asp_rookie Nybegynder
19. juni 2002 - 13:56 #5
El. det er måske smarter at lave forbindelse - hente data - og lukke igen.
Avatar billede asp_rookie Nybegynder
19. juni 2002 - 14:03 #6
Får en fejl...

Microsoft VBScript compilation error '800a03fd'

Expected 'Case'

/left.asp, line 15

select top 2 id, left(nyhed,15) as nyhed from tabel order by dato
-------^
Avatar billede asp_rookie Nybegynder
19. juni 2002 - 15:24 #7
Kan du se hvad der er galt?

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("news/nyheder.mdb")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("news/nyheder.mdb")

strSQL = "select top 2 id, left(Nyhed,15) as Nyhed from nyheder order by dato"

while not rs.eof
  response.write rs("Nyhed")
  if len(trim(rs("Nyhed")))= 15 then response.write "..."
  response.write "<br><a href=""link.asp?id=" & rs("id") & ">Læs mere</a><br><br>"
  rs.movenext
wend

Conn.Close
Set Conn = Nothing
Avatar billede kimiwan Nybegynder
19. juni 2002 - 15:36 #8
Prøv med den her (du havde lige et par overflødige linjer med... og så skriv, den præcise fejlkode, du får, samt indiker linjen, der er fejl i.

Og husk lige at tilpasse felt- og tabelnavnene, så de hedder det samme som i din database. Både i sqlstrengen og der hvor du udskriver indholdet af recordsettet.


Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("news/nyheder.mdb")

strSQL = "select top 2 id, left(Nyhed,15) as Nyhed from nyheder order by dato"

'åbn recordsettet
set rs = conn.execute(strSQL)

'udskriv indholdet af recordsettet
while not rs.eof
  response.write rs("Nyhed")
  if len(trim(rs("Nyhed")))= 15 then response.write "..."
  response.write "<br><a href=""link.asp?id=" & rs("id") & ">Læs mere</a><br><br>"
  rs.movenext
wend

Conn.Close
set rs = nothing
Set Conn = Nothing
Avatar billede asp_rookie Nybegynder
19. juni 2002 - 15:42 #9
Så får jeg denne...

Microsoft JET Database Engine error '80040e10'

No value given for one or more required parameters

/test_agm/left.asp, line 22

Line 22:
set rs = conn.execute(strSQL)
Avatar billede kimiwan Nybegynder
19. juni 2002 - 15:57 #10
Gentager lige paragraf 2 fra forrige svar:

Og husk lige at tilpasse felt- og tabelnavnene, så de hedder det samme som i din database. Både i sqlstrengen og der hvor du udskriver indholdet af recordsettet.
Avatar billede asp_rookie Nybegynder
19. juni 2002 - 17:13 #11
Ja du havde ret... jeg havde klokket i det...
Hvis de skal være sorteret efter dato og tid kan jeg så bare skrive & TIME
Avatar billede kimiwan Nybegynder
19. juni 2002 - 17:24 #12
Dato er navnet på dit datofelt - så længe du har gemt både dato og klokkeslet i feltet,  sorterer den efter begge.
Avatar billede asp_rookie Nybegynder
19. juni 2002 - 17:43 #13
Så tager den bare den ældste først...hmm...
Avatar billede kimiwan Nybegynder
19. juni 2002 - 17:58 #14
så skal du skrive "...ORDER BY dato DESC" - altså tilføj "DESC" til enden af din sqlstreng.
Avatar billede asp_rookie Nybegynder
20. juni 2002 - 08:48 #15
Super mange tak for hjælpen....
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester