Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Hjälp med att hämta info från accessdatabas

Postades av 2005-07-06 22:09:45 - Jesper Liedberg, i forum asp.net generellt, Tråden har 4 Kommentarer och lästs av 435 personer

Hejsan

Jag har hittat ett exempel på en sida som jag försöker modifiera. Men det vill sig inte riktigt

Detta är felmeddeladet jag får:

System.IndexOutOfRangeException: Kundvagn.ArtikelKvantitet

Line 96: ItemNumber = DBReader("Kundvagn.ArtikelNummer")
Line 97: ItemName = DBReader("Benämning")
Line 98: ItemQuantity = DBReader("Kundvagn.ArtikelKvantitet")
Line 99: ItemPrice = DBReader("Utpris")
Line 100: ItemAmount = ItemQuantity * ItemPrice

Stack Trace:
[IndexOutOfRangeException: Kundvagn.ArtikelKvantitet]
System.Data.Common.FieldNameLookup.GetOrdinal(String fieldName) +55
System.Data.OleDb.OleDbDataReader.GetOrdinal(String name) +61
System.Data.OleDb.OleDbDataReader.get_Item(String name) +10
ASP.Order_aspx.Page_Load() in c:\inetpub\wwwroot\Order.aspx:98
System.Web.Util.ArglessEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +10
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +29
System.Web.UI.Page.ProcessRequestMain() +724

Jag har en tabell som heter Kundvagn och en som heter Artiklar i en Accessdatabas
Kundvagn består av fyra kolumner. OrderNummer(Text), Orderdatum(Datum/Tid), ArtikelNummer(Text) och ArtikelKvantitet(Tal).
Om man kör koden när tabellen Kundvagn är tom fungerar den, men om man lagt till en vara i kundvagnen fungerar den inte.

Kan någon försöka förklara varför detta fel uppstår. Eller komma med ideér.

Tacksam för all hjälp

Jesper


<Code>
<%@ Page Language=VB Debug="true"%>
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Web.Mail" %>
<%@ Import Namespace="System.Data" %>

<SCRIPT runat="server">
Dim DBConnection As OleDbConnection
Dim DBCommand As OleDbCommand
Dim DBReader As OleDbDataReader
Dim SQLString As String

Dim MerchantID As String
Dim CustomerID As String
Dim OrderAmount As String
Dim Namn As String
Dim Adress As String
Dim Stad As String
Dim EmailAddress As String
Dim EmailBody As String
Dim OrderNummer As String
Dim Email As MailMessage

Dim ItemNumber As String
Dim ItemName As String
Dim ItemPrice As Double
Dim ItemQuantity As Double
Dim ItemAmount As Double
Dim OrderTotal As Double
Dim OrderShipping As Double

Sub Page_Load

If Request.Form("Return") = "Återvänd till kundvagn" Then
Response.Redirect("Kundvagn.aspx")
End If

'-- Capture information from credit card return
MerchantID = Request.Form("ReturnMerchantID")
CustomerID = Request.Form("ReturnCustomerID")
OrderAmount = Request.Form("ReturnOrderAmount")
Namn = Request.Form("ReturnName")
Adress = Request.Form("ReturnAddress")
Stad = Request.Form("ReturnCity")
EmailAddress = Request.Form("ReturnEmail")

'-- Send email confirmation of order
Email = New MailMessage()
Email.To = EmailAddress
Email.From = "test@test.se"
Email.Subject = "Order " & CustomerID & " Confirmation"
EmailBody = ""
EmailBody &= "<html>"
EmailBody &= "<body>"
EmailBody &= "<span style=""font-size:14pt; font-weight:bold"">"
EmailBody &= "Test.se"
EmailBody &= "</span><br>"
EmailBody &= "<span style=""font-size:12pt; font-weight:bold"">"
EmailBody &= "Beställning"
Emailbody &= "</span><br><br/>"
EmailBody &= "Datum: " & Today & "<br/>"
EmailBody &= "Order Nr.: " & CustomerID & "<br/>"
EmailBody &= "<br/>"
EmailBody &= Namn & "<br/>"
EmailBody &= Adress & "<br/>"
EmailBody &= Stad & "<br/>"
EmailBody &= "<p>"
EmailBody &= "If you have any questions about your "
EmailBody &= "order, please email us at "
EmailBody &= " "
EmailBody &= "orders@test.se
"
EmailBody &= "and reference the order number listed above."
EmailBody &= "</p>"
EmailBody &= "<table border=1 cellpadding=3 style=""border-collapse:collapse"">"
EmailBody &= "<tr>"
EmailBody &= " <th>Artikelnummer</th>"
EmailBody &= " <th>Benämning</th>"
EmailBody &= " <th>Antal</th>"
EmailBody &= " <th>Pris</th>"
EmailBody &= " <th>Amount</th>"
EmailBody &= "</tr>"
OrderTotal = 0

DBConnection = New OleDbConnection( _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Inetpub\wwwroot\databas\test.mdb")

SQLString = "SELECT * FROM Kundvagn INNER JOIN Artiklar " & _
"ON Kundvagn.ArtikelNummer = Artiklar.Artikelnummer " & _
"WHERE OrderNummer = '" & Session("OrderNummer") & "' " & _
"ORDER BY Kundvagn.ArtikelNummer"
DBCommand = New OleDbCommand(SQLString, DBConnection)
DBConnection.Open
DBReader = DBCommand.ExecuteReader()
While DBReader.Read()
ItemNumber = DBReader("Kundvagn.ArtikelNummer")
ItemName = DBReader("Benämning")
ItemQuantity = DBReader("Kundvagn.ArtikelKvantitet")
ItemPrice = DBReader("Utpris")
ItemAmount = ItemQuantity * ItemPrice
OrderTotal += ItemAmount
EmailBody &= "<tr>"
EmailBody &= " <td>" & ItemNumber & "</td>"
EmailBody &= " <td>" & ItemName & "</td>"
EmailBody &= " <td align=right>" & ItemQuantity & "</td>"
EmailBody &= " <td align=right>" & FormatNumber(ItemPrice,2) & "</td>"
EmailBody &= " <td align=right>" & FormatNumber(ItemAmount,2) & "</td>"
EmailBody &= "</td>"
End While
DBReader.Close()
DBConnection.Close()

If OrderTotal > 300.00 Then
OrderShipping = OrderTotal * .02
Else
OrderShipping = 0.00
End If
OrderTotal += OrderShipping
EmailBody &= "<tr>"
EmailBody &= " <td colspan=4 align=right>Frakt</td>"
EmailBody &= " <td align=right>" & FormatNumber(OrderShipping,2) & "</td>"
EmailBody &= "</tr>"
EmailBody &= "<tr>"
EmailBody &= " <td colspan=4 align=right>Totalt:</td>"
EmailBody &= " <td align=right>" & FormatCurrency(OrderTotal) & "</td>"
EmailBody &= "</tr>"
EmailBody &= "</table>"
EmailBody &= "</body>"
EmailBody &= "</html>"

Email.Body = EmailBody
Email.BodyFormat = MailFormat.Html
System.Web.Mail.SmtpMail.SmtpServer = "smtp.bredband.net"
SmtpMail.Send(Email)

Response.Redirect("SalesOrder.aspx")


End Sub

</SCRIPT> </Code>


Svara

Sv: Hjälp med att hämta info från accessdatabas

Postades av 2005-07-07 00:39:10 - Joakim Åhl

skulle tro att det har med While DBReader.Read() att göra.Han går nog ett steg förlångt.


Svara

Sv:Hjälp med att hämta info från accessdatabas

Postades av 2005-07-07 08:58:04 - Jesper Liedberg

Misstänker också att det har med DBReader att göra. Har sökt överallt men inte hittat någon lösning på detta.


Svara

Sv: Hjälp med att hämta info från accessdatabas

Postades av 2005-07-07 09:29:39 - Johan Djupmarker

Är lite tveksam till att du ska använda Kundvagn.ARtikelNummer osv. Testa om detta fungerar bättre:

SQLString = "SELECT Kundvagn.ArtikelNummer, Benämning, Kundvagns.ArtikelKvantitet, Utpris FROM Kundvagn INNER JOIN Artiklar " & _
"ON Kundvagn.ArtikelNummer = Artiklar.Artikelnummer " & _
"WHERE OrderNummer = '" & Session("OrderNummer") & "' " & _
"ORDER BY Kundvagn.ArtikelNummer"



ItemNumber = DBReader("ArtikelNummer")
ItemName = DBReader("Benämning")
ItemQuantity = DBReader("ArtikelKvantitet")
ItemPrice = DBReader("Utpris")


/Johan


Svara

Sv:Hjälp med att hämta info från accessdatabas

Postades av 2005-07-07 09:57:57 - Jesper Liedberg

Tackar, gjorde som du sa och nu fungerar det perfekt.

Dagen är räddad, har varit mycket frustrerad över detta.

Tack igen.


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 604
27 953
271 705
6 263
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies