Avatar billede butcher Nybegynder
30. juni 2002 - 22:04 Der er 5 kommentarer og
1 løsning

Link der hiver data ud

Jeg skal have et link som kan se hvad ordre nr den nuværende ordre er på, ved at trykke på det link skal den så hente nogle oplysninger ud af en table (OrderDetails) og en anden table (olie)

men sådan her ser det ud:

1 side med link:

<a href="ViewOrderDetails.asp?qryID=<%= OrderID %>">Bestillings Info</a> Når den så korrekt nok henter ud fra sin table Orders at OrderID er lige med 25 i dette tilfælde kommer linket til at se sådan her ud:
ViewOrderDetails.asp?qryID=25

Hvis man så kigger på ViewOrderDetails.asp

<% 
Option Explicit
Sub DrawPage()
%>
      <html>
<head>
<meta http-equiv="Content-Style-Type" content="text/css">
<title>Bestillings detaljer</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body topmargin="0" leftmargin="0">
<div align="center">
<table border="1" rules="groups" cellspacing="0" cellpadding="0" bordercolor="black" style="background: #CCCCCC">
<tr><td><img src="gfx/top.gif"></td></tr>
<tr>
<td><center><font size=5>
Oversigt over bestilling nr. <%= OrderID %></font>
<br><br>

      <table border=0 align="center">
          <tr style="background: #0569B2" align="center">
            <TD width=250><font color=white>Navn</font></TD>
          <TD width=75><font color=white>Pris </font></TD>
          <TD width=75><font color=white>Antal</font></TD>
          <TD width=75><font color=white>Total</font></TD>
      </tr>
<%
rs.MoveFirst

      while not rs.EOF
         
          ID = rs("OrderID") & ""
          Name = rs("navn") & ""
          price = rs("Price") & ""
          quantity = rs("Quantity") & ""
          itemSubTotal = price * quantity
          totalCost = totalCost + itemSubTotal
         
      If price <> "" then
          price = FormatCurrency(price)
      End If
%>

     
      <TR align="center">
          <TD><%= Name %>  </TD>
          <TD><%= price %>  </TD>
          <TD><%= quantity %>  </TD>
          <TD><%= FormatCurrency(itemSubTotal) %>  </TD>
         
      </TR>
<% 
    rs.MoveNext
     
      wend
%>

      </TABLE>
<br>
<hr>
<a href="java script:history.back()">En side tilbage</a> - <a href="cart.asp">Se indkøbskurven</a> - <a href="index2.asp">Tilbage til hovedsiden</a>
<td>
<tr>
</table>
</div>
</body>
</html>
<%
End Sub
      dim rs
      dim sqlString
      dim connectionString, databaseName, path
      dim OrderID, Name, price, quantity, itemSubTotal, totalCost
     
     
      OrderID = request.querystring("qryID")
     
      path = Server.MapPath(".")
      databaseName = "data.mdb"
  connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
      & path & "\" & databaseName
      sqlString = "select * from OrderDetails, olie " & _
                  " where OrderDetails.ProductID=olie.ID " & _
                  " AND OrderID=" & OrderID
      sqlString = sqlString & " Order By navn"
     
      set rs = Server.CreateObject("ADODB.Recordset")
      rs.Open sqlString, connectionString
     
      Call DrawPage()
     
      rs.Close
      Set rs = Nothing
%>

Denne side bruger så det id fra forrige side til at hente de korrekte data ud fra table.
Disse recorsdsets er name, price, quantity.

Jeg syntes det ser meget rigtigt ud, men når jeg går ind på vieworderdetails siden, får jeg:

Microsoft JET Database Engine (0x80040E10)
No value given for one or more required parameters.
/ViewOrderDetails.asp, line 88

linie 88 er rs.Open sqlString, connectionString ??!



Avatar billede butcher Nybegynder
30. juni 2002 - 22:06 #1
sqlString = "select * from OrderDetails, olie " & _
                  " where OrderDetails.ProductID=olie.ID " & _
                  " AND OrderID=" & OrderID

var en fejl, den skulle være:

sqlString = "select * from OrderDetails, olie " & _
                  " where OrderDetails.varernr=olie.ID " & _
                  " AND OrderID=" & OrderID

men nu får jeg:

ADODB.Recordset (0x800A0BCD)
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
/ViewOrderDetails.asp, line 28

Hvilket antyder at det recordset er tomt, men det er det ikke!!

linie 28 er rs.MoveFirst
Avatar billede eagleeye Praktikant
30. juni 2002 - 22:09 #2
Du behøver ikke linien rs.MoveFirst
Recordset vil stå på føreste record har du åbner det.
Avatar billede butcher Nybegynder
30. juni 2002 - 22:12 #3
Hvis jeg fjerner den får jeg godt nok en side frem som fortæller mig at dette er en Oversigt over bestilling nr. 25, så den henter orderid ud, men resten er tom, den trække ikke data ud fra rs.
Avatar billede eagleeye Praktikant
30. juni 2002 - 22:16 #4
du er sikker på at der vil være noget i recordsetet?

Du har jo denne where på hvor både ProductID = olie.ID og OrderID=25
".. where OrderDetails.ProductID=olie.ID AND OrderID=" & OrderID
Avatar billede butcher Nybegynder
30. juni 2002 - 22:20 #5
hmm nej der er vist noget galt det, jeg tror lige jeg bliver nød til at bygge det op fra grunden af igen, jeg vender tilbage.
Avatar billede butcher Nybegynder
30. juni 2002 - 22:53 #6
siden du havde ret i dine kommentarer, får du disse points, men jeg kommer tilbage med et nyt spørgsmål :D
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