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


Hämta priset från access--vad är fel `???

Postades av 2002-08-24 21:45:31 - Tommy Friberg, i forum asp - allmänt, Tråden har 22 Kommentarer och lästs av 573 personer


Hoppas ni proffs kan hjälpa mig lite. Jag vill hämta upp priset från min databas då priset på varor uppdateras hela tiden och jag vill bara ändra i databasen så ska priset ändras på min produktsida, Det kommer vara flera varor på sidan som skall visas men i exemplet är det bara en.

I exemplet nedan har jag en produkt med artnr 48515 och vill att priset ska visas men det gör det inte...
Vad kan vara fel ??? Jag får inga felmeddelanden eller så utan det enda som visas är "TESTAR"

Har suttit nu i några dagar och mecklat fram o tillbaka men jag löser det inte :(. Oerhör tacksam för alla förslag

<%
Set Connect=Server.CreateObject("ADODB.Connection")
Connect.Open "vår_url.se_databasen"
Set RecSet = Server.CreateObject("ADODB.Recordset")

%>
<HTML>
<HEAD>



<meta http-equiv="Content-Language" content="sv">
<META NAME="robots" CONTENT="noindex,nofollow">
<TITLE></TITLE>
</HEAD>

<body>

<p>TESTAR</p>

<% Show = "SELECT pris FROM produkt WHERE artnr =" & 48515
RecSet.Open Show, Connect, adOpenStatic, adLockOptimistic

Response.Write "Priset på " & artnr & " är " & RecSet("pris")

RecSet.Close
Connect.Close
%>

</body>
</html>


Svara

Sv: Hämta priset från access--vad är fel `???

Postades av 2002-08-24 22:20:32 - Johan Djupmarker

Konstigt, jag ser inget fel... Om du inte får något felmeddelande, laddas sidan klart eller står den och bara laddar och laddar?

/Johan


Svara

Sv: Hämta priset från access--vad är fel `???

Postades av 2002-08-24 22:25:31 - Tommy Friberg

Får bara fram en helt blank sida där TESTAR visas. Laddar klart o allting. men något pris kommer det inte.....


Svara

Sv: Hämta priset från access--vad är fel `???

Postades av 2002-08-24 22:26:44 - Tommy Friberg

Finns det något annat sätt att hämta upp data från en access databas?


Svara

Sv: Hämta priset från access--vad är fel `???

Postades av 2002-08-25 09:18:03 - Anna-Karin Söderberg

Hej

Gör en liten koll först så att ditt recordset är inte tomt.
Jag brukar alltid göra så här för att få en indikation om det är så att jag får en tom post tillbaka.

IF RecSet.EOF THEN
Response.write"Prisuppgift saknas"
else
Response.Write "Priset på " & artnr & " är " & RecSet("pris")
end if

Om ditt recset är tomt så skrivs prisuppgift saknas ut, annars skrivs artikel nr och pris ut.
Jag antar att du tar emot artnr på något sätt tidigare.

Anna-Karin


Svara

Sv: Hämta priset från access--vad är fel `???

Postades av 2002-08-25 13:29:40 - Tommy Friberg

Verkar som den helt enkelt skiter i följande kod:

<% Show = "SELECT pris FROM produkt WHERE artnr =" & 48515
RecSet.Open Show, Connect, adOpenStatic, adLockOptimistic

Response.Write "Priset på " & artnr & " är " & RecSet("pris")

RecSet.Close
Connect.Close
%>

Ändrar jag något så kommer fellmeddelanden men låter jag det stå så händer inget förutom att texten "TESTAR" visas. Kan det vara något med databasen som jag måste ändra formatering eller så??

Kolomnen pris ser ut på fäljande sätt: Fältstorlek = heltal, Format = tal, Decimaler = 0 Titel = pris

Vet ärligt talat inte vad jag ska ta mig till..........

// Tommy


Svara

Sv: Hämta priset från access--vad är fel `???

Postades av 2002-08-25 15:23:37 - Tommy Friberg

eller har det med de första raderna att göra där jag bestämmer vart databasen är.....behövs det någon form av "select" redan där ??


Svara

Sv: Hämta priset från access--vad är fel `???

Postades av 2002-08-25 21:23:05 - Roger Zettergren

prova att ändra raden
<% Show = "SELECT pris FROM produkt WHERE artnr =" & 48515
till
<% Show = "SELECT pris FROM produkt WHERE ((artnr) = 48515)


Svara

Sv: Hämta priset från access--vad är fel `???

Postades av 2002-08-25 22:26:53 - Tommy Friberg

<% Show = "SELECT pris FROM produkt WHERE ((artnr) = 48515) borde vara " efter sista apostrofen eller ??

Hur som helts så kommer det bara en helt blank sida nu bara. Skriver jag exakt så som du skrivit så gnäller den om oavslutad programsats men sätter jag dit "-fnuttarna så blir sidan helt blank..........


Svara

Sv: Hämta priset från access--vad är fel `???

Postades av 2002-08-25 22:28:03 - Tommy Friberg

Sorry Oavslutad strängkonstant gnäller den om.....


Svara

Sv: Hämta priset från access--vad är fel `???

Postades av 2002-08-26 07:38:46 - Ragnar Hedblom

Hej!

Har lagt till och ändrat lite i din kod, hoopas det fungera för dig.

<!-- HAR FLYTTAT NED ALL ASP-KOD IN I BODY-TAGGEN -->

<HTML>
<HEAD>

<meta http-equiv="Content-Language" content="sv">
<META NAME="robots" CONTENT="noindex,nofollow">
<TITLE></TITLE>
</HEAD>

<body>

<p>TESTAR</p>

<%
Set Connect=Server.CreateObject("ADODB.Connection")

'Ersätt din rad
'Connect.Open "vår_url.se_databasen"
'med följande rad

Connect.Open "DBQ=" & Server.MapPath("dbTestar.mdb") & ";DRIVER={Microsoft Access Driver (*.mdb)};"

'I strängen ska du för DBQ ange den exakta sökvägen och filnamnet för din databas
'Jag har valt att lägga databasen och ASP-filen i samma katalog så därför använder jag Server.MapPath
'Mer om Server.MapPath kan du läsa på olika ASP-forum

Set RecSet = Server.CreateObject("ADODB.Recordset")

'Här har jag lagt till ett semikolon sist i SELECT-strängen
'Oftast klarar databasmotorn av att tolka SQL:n ändå
'men ta för vana att alltid avsluta med semikolon
'som är rätt syntax
'Med stjärntecknet hämtar jag sen alla fält från aktuell post
'måste ju också ha fältet artnr för att kunna skriva ut det

Show = "SELECT * FROM produkt WHERE artnr =" & 48515 & ";"

'Har tagit bort villkoren för Recordsetet
'De du hade där är variabler från en fil adovbs.inc
'Om du ska använda dessa måste denna fil inlkuderas
'FÖr det här enkla recordsetet behövs de inte

RecSet.Open Show, Connect

'Har ändrat textsträngen så att artikelnumret som ska skriva ut hämtas från databasen
'och också lagt till en liten fel-hantering om det inte skulle finnas en post med artnr 48515

If Not RecSet.EOF Then
Response.Write "Priset på artikeln med artikelnummer " & RecSet("artnr") & " är " & RecSet("pris") & " kr."
Else
Response.Write "Det finns ingen artikel med valt artnr!"
End If

RecSet.Close
Set RecSet=Nothing 'Tömmer all minnesallokering på servern
Connect.Close
Set Connect=Nothing 'Tömmer all minnesallokering på servern
%>

</body>
</html>

Svenne


Svara

Sv: Hämta priset från access--vad är fel `???

Postades av 2002-08-26 11:37:44 - Tommy Friberg

Får följande fel ändå...


TESTAR

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/db/test.asp, line 42



Några bra förslag?


Svara

Sv: Hämta priset från access--vad är fel `???

Postades av 2002-08-26 11:47:41 - Anna-Karin Söderberg


Om artnr är av datatypen text i databasen så ska den ha ' runt sig i SQL satsen.

Show = "SELECT * FROM produkt WHERE artnr = ' " & 48515 & " ' ;"

Prova om inte det löser problemet.

Anna-Karin


Svara

Sv: Hämta priset från access--vad är fel `???

Postades av 2002-08-26 11:58:13 - Johan Djupmarker

>Show = "SELECT * FROM produkt WHERE artnr = ' " & 48515 & " ' ;"

Den satsen lägger till ett mellanslag framför och bakom artikelnumret vilket antagligen inte är riktigt... Dessutom vill jag minnas att det inte fungerar med ; på slutet, det är bara i en Access-fråga som den ska vara där.

Show = "SELECT * FROM produkt WHERE artnr = '" & 48515 & "'"

/Johan


Svara

Sv: Hämta priset från access--vad är fel `???

Postades av 2002-08-26 13:05:17 - Tommy Friberg

Tack! Nu fungerar det. Är väldigt tacksam!


Svara

Ytterligare problem

Postades av 2002-08-26 15:50:52 - Tommy Friberg

Nu stöter jag på ytterligare ett litet problem, men Ni kan säkert lösningen.
Om jag på samma sida vill presentera exempelvis 5 olika priser baserat på tillhörande artnr. Hur gör man bäst då??? Tacksam för hjälp!

Nuvarande kod plockar fram ett pris baserat på ett artnr.

___________________________________________________________________

</HEAD>

<body>

<p>TESTAR</p>

<%
Set Connect=Server.CreateObject("ADODB.Connection")
Connect.Open "DBQ=" & Server.MapPath("databasnamn.mdb") & ";DRIVER={Microsoft Access Driver (*.mdb)};"
Set RecSet = Server.CreateObject("ADODB.Recordset")


Show = "SELECT * FROM produkt WHERE artnr = '" & 48515 & "'"

RecSet.Open Show, Connect

If Not RecSet.EOF Then
Response.Write "Priset på artikeln med artikelnummer " & RecSet("artnr") & " är " & RecSet("pris") & " kr."
Else
Response.Write "Det finns ingen artikel med valt artnr!"
End If

RecSet.Close
Set RecSet=Nothing
Connect.Close
Set Connect=Nothing
%>

</body>
</html>


Svara

Sv: Ytterligare problem

Postades av 2002-08-26 22:11:41 - Tommy Friberg

Borde väl finnas ett bättre sätt än att kopiera in hela den ovanstående koden för varje artikel. Ser ut att bli lite mycket kod för en sådan liten funktion. Bara en reflektion på något som verkar vara lätt men som har varit så dj-vla jobbigt. Tack än engång för att ni hjälpt till. Känns skönt att veta att det finns sådana grymma asp proffs som kan hjälpa en newbie på traven lite,

// Tommy


Svara

Sv: Ytterligare problem

Postades av 2002-08-27 01:18:04 - Andreas Hillqvist

Du sersätter bara det hårdkodade värdet med en variabel. Eller så kan du använda en parameter i querystring'en:
<code>
Set Connect=Server.CreateObject("ADODB.Connection")
Connect.Open "DBQ=" & Server.MapPath("databasnamn.mdb") & ";DRIVER={Microsoft Access Driver (*.mdb)};"
Set RecSet = Server.CreateObject("ADODB.Recordset")


Show = "SELECT * FROM produkt WHERE artnr = '" & Replace(Request.QueryString("artnr"),"'","'") & "'"

RecSet.Open Show, Connect

If Not RecSet.EOF Then
Response.Write "Priset på artikeln med artikelnummer " & RecSet("artnr") & " är " & RecSet("pris") & " kr."
Else
Response.Write "Det finns ingen artikel med valt artnr!"
End If

RecSet.Close
Set RecSet=Nothing
Connect.Close
Set Connect=Nothing
%>


</code>
På så sätt kan du anropa sidan med:<br>
visapris.asp?artnr=48515


Svara

Sv: Ytterligare problem

Postades av 2002-08-27 09:36:03 - Tommy Friberg

Om jag fattar det rätt Andreas presenteras väl då de olika priserna baserade på artnr på olika sidor...? Grejen är att jag på en och samma sida har ett 50-talet produkter. Varje gång priserna uppdateras i databasen vill jag att priserna på sidan skall uppdateras. Idag går jag in och skriver alla priser manuellt :-(

Tacksam för din hjälp!


Svara

Sv: Ytterligare problem

Postades av 2002-08-27 11:16:32 - Andreas Hillqvist

Varför listar du dem ine med ASP kod?

<code>
<table>
<tr>
<td>artikelnummer</td>
<td>pris</td><tr>
<%

Set Connect=Server.CreateObject("ADODB.Connection")
Connect.Open "DBQ=" & Server.MapPath("databasnamn.mdb") & ";DRIVER={Microsoft Access Driver (*.mdb)};"

Set RecSet = Server.CreateObject("ADODB.Recordset")
RecSet.Open "SELECT * FROM produkt", Connect

Do until RecSet.EOF
Response.Write "<tr><td>" & RecSet("artnr") & "</td><td>" & RecSet("pris") & "</td></tr>"
RecSet.MoveNext
Loop

RecSet.Close
Set RecSet=Nothing

Connect.Close
Set Connect=Nothing
%>
</code>


Svara

Sv: Ytterligare problem

Postades av 2002-08-27 11:27:48 - Tommy Friberg

Grejen är att jag har ca. 400 artiklar i databasen. Dessutom har jag olika kategorisidor. Vill på varje kategorisida enbart "pusha" för ett tiotal utvalda produkter. Dessutom har jag en massa undersidor med information om produkterna där även priset anges.
Siten växer och det fungerar inte längra att varje vecka sitta och ändra varje sida......


Svara

Sv: Ytterligare problem

Postades av 2002-08-27 11:36:07 - Andreas Hillqvist

Förslag:
* Skapa en tabel som anger vilka produkter som skall pushas
* Skapa en sida som visar kategorierna
* Skapa sida som visar produkter som skall visas för en kategori

* Försök att standardisera produktsidorna och lägg informationen i en tabell som du länkar till produkten.

Med andra ord. Gör det till en dynamisk site.
Slipper du redigera sidor. Bara att uppdatera databasen.


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

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 570 817
27 960
271 761
8 520
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