Avatar billede wilweb Nybegynder
18. august 2003 - 00:10 Der er 9 kommentarer og
1 løsning

udtræk fra database

Jeg har fået nogle problemer med at hente data fra en access database.

strSQL = "Select * From tilbud Where strUser='" & session("Emailad") & "' Order by strDate Desc"
Set rs = Conn.Execute(strSQL)

den er OK!

Det jeg vil have er at der skal skrives:
response.write "Der er ingen poster"

hvis der ikke er nogle poster for den bruger

ellers skal der bare skriver poster ud:

Do While Not rs.EOF
  Response.write rs("strDato") & " - " & rs("strTilbud") & "<br>"
  rs.MoveNext
Loop
Avatar billede wilweb Nybegynder
18. august 2003 - 00:12 #1
jeg har prøvet:

if rs.EOF or rs.BOF then
Response.Write "<tr><td colspan='4'>Der er ingen poster</td></tr>"
else
  Do While Not rs.EOF
  Response.write rs("strDato") & " - " & rs("strTilbud") & "<br>"
  rs.MoveNext
  Loop
end if

men den vil sgu ikke rigtigt
Avatar billede thomas_yde Nybegynder
18. august 2003 - 00:14 #2
If Not rs.EOF then
  Do While Not rs.EOF
  Response.write rs("strDato") & " - " & rs("strTilbud") & "<br>"
  rs.MoveNext
  Loop
Else
Response.Write "Der er ingen poster"
End If
Avatar billede wilweb Nybegynder
18. august 2003 - 00:17 #3
aha du vender den om, det skal lige prøves!:>
Avatar billede wilweb Nybegynder
18. august 2003 - 00:41 #4
den skriver det godt nok, men det der går galt er at når jeg vil udskrive de første 15 tegn af rs("strBeskrivelse")

Der sker nada, der udskriver ikke noget som helst.

min kode:

  <%
session.LCID=1030' sætter til dk

strSQL = "Select * From tilbud Where strUser='" & session("Emailad") & "' Order by strDate Desc"
Set rs = Conn.Execute(strSQL)

If Not rs.EOF then
    Response.write "<tr>"
    Response.write "<td width='10%'><strong>Dato</strong></td>"
    Response.write " <td width='40%'><strong>Beskrivelse</strong></td>"
    Response.write "<td width='40%'><strong>Teknisk</strong></td>"
    Response.write "<td width='10%'><strong>Pris</strong></td>"
    Response.write "</tr>"
  Do While Not rs.EOF
    'fjernet tid fra dato
    AntalistrDato = len(rs("strDate"))
    Rightselect = 9
    SelectfromLeft = AntalistrDato-Rightselect
    strDato=left(rs("strDate"),SelectfromLeft)
   
    'viser 15 første tegn + ... i beskrivelsen, hvis der er over 15 tegn
      If Len(rs("strBeskrivelse")) > 15 Then
          If Right(Left(rs("strBeskrivelse"),18),1) = " " Then
              strBeskrivelse = (Left(rs("strBeskrivelse"),17) & "...")
          Else
              strBeskrivelse = (Left(rs("strBeskrivelse"),18) & "...")
          End If
      Else ' så må der være under 15 tegn og ingen fork. er nødvendig.
              strBeskrivelse = rs("strBeskrivelse")
      End If
      'formaterer med 2 decimaler
      Sum =FormatNumber(rs("intPrice"),2)
   
      Response.write "<tr>"
      Response.write "<td>"& strDato & "</td>"
      Response.write "<td Align='left'><A Href='vis_brugertilbud.asp?bruger=" & session("Emailad") & "&tilbudID="& rs("ID")& "' title='" & rs("strBeskrivelse") & "'>" & strBeskrivelse & "</A></td>"
      Response.write "<td align='left'>"& rs("intWidth") & " X " & rs("intHeight") & " mm, " & rs("intPages") & " sider, "& rs("intCopies") & " stk." &  "</td>"
      Response.write "<td align='right'>"& Sum & "</td>"
      Response.write "</tr>"
      rs.MoveNext
    Loop
Else
  Response.Write "<td colspan='4'>Der er ingen poster</td>"
End If
%> 

men hvis jeg skriver koden sådanne her virker det, men så kommer der ikke besked hvis der ikke er nogle poster i db.

strSQL = "Select * From tilbud Where strUser='" & session("Emailad") & "' Order by strDate Desc"
Set rs = Conn.Execute(strSQL)


    Response.write "<tr>"
    Response.write "<td width='10%'><strong>Dato</strong></td>"
    Response.write " <td width='40%'><strong>Beskrivelse</strong></td>"
    Response.write "<td width='40%'><strong>Teknisk</strong></td>"
    Response.write "<td width='10%'><strong>Pris</strong></td>"
    Response.write "</tr>"
  Do While Not rs.EOF
    'fjernet tid fra dato
    AntalistrDato = len(rs("strDate"))
    Rightselect = 9
    SelectfromLeft = AntalistrDato-Rightselect
    strDato=left(rs("strDate"),SelectfromLeft)
   
    'viser 15 første tegn + ... i beskrivelsen, hvis der er over 15 tegn
      If Len(rs("strBeskrivelse")) > 15 Then
          If Right(Left(rs("strBeskrivelse"),18),1) = " " Then
              strBeskrivelse = (Left(rs("strBeskrivelse"),17) & "...")
          Else
              strBeskrivelse = (Left(rs("strBeskrivelse"),18) & "...")
          End If
      Else ' så må der være under 15 tegn og ingen fork. er nødvendig.
              strBeskrivelse = rs("strBeskrivelse")
      End If
      'formaterer med 2 decimaler
      Sum =FormatNumber(rs("intPrice"),2)
   
      Response.write "<tr>"
      Response.write "<td>"& strDato & "</td>"
      Response.write "<td Align='left'><A Href='vis_brugertilbud.asp?bruger=" & session("Emailad") & "&tilbudID="& rs("ID")& "' title='" & rs("strBeskrivelse") & "'>" & strBeskrivelse & "</A></td>"
      Response.write "<td align='left'>"& rs("intWidth") & " X " & rs("intHeight") & " mm, " & rs("intPages") & " sider, "& rs("intCopies") & " stk." &  "</td>"
      Response.write "<td align='right'>"& Sum & "</td>"
      Response.write "</tr>"
      rs.MoveNext
    Loop
Avatar billede wilweb Nybegynder
18. august 2003 - 00:45 #5
Ja, jeg posted koden hvis der er nogle der kan se hvor jeg dummer mig
Avatar billede thomas_yde Nybegynder
18. august 2003 - 00:49 #6
hmm det giver ikke rigtig nogen mening.
Men istedet for at checke om der er 15 chars i beskrivelse kan du altid vælge at skrive Left(rs("strBeskrivelse"),15)
Det gør ikke noget hvis der < 15
Avatar billede wilweb Nybegynder
18. august 2003 - 00:52 #7
nææ du har ret det giver ingen mening
Avatar billede wilweb Nybegynder
18. august 2003 - 00:55 #8
thomas_yde :> kom lige med et svar, for det du har sagt indtil nu er helt rigtigt og har løst min oprindelige problem. Så må jeg lige nørkle med den beskrivelse..
Takker indtil nu :>
Avatar billede wilweb Nybegynder
18. august 2003 - 01:14 #9
Underligt, det var fordi rs("beskrivelse") var defineret som et Note felt i databasen, nu har jeg sat det tilbage til et text felt og der er ingen problemer...
Meget mærkeligt.......
Avatar billede thomas_yde Nybegynder
18. august 2003 - 10:27 #10
Det var så lidt :)
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

IT-JOB

Capgemini Danmark A/S

Client Partner

Netcompany A/S

IT Consultant

Forsvarsministeriets Materiel- og Indkøbsstyrelse

SAP-medarbejder til Roller & Autorisationer i Forsvarets Cyberdivision

Riskpoint A/S (Riskpoint Solutions Limited)

Senior Developer