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


Fel i databasanrop från ASP-sida?!

Postades av 2004-01-14 18:51:12 - Martin Nyman, i forum asp - allmänt, Tråden har 9 Kommentarer och lästs av 922 personer

Hej,

skulle behöva hjälp av ett par skickliga ögon.

I nedanstående kod, som skall skriva ut en topplista med alla, bara seniorer eller bara ungdomar utifrån vad man väljer i radioknapparna så får jag ett problem.

Problemet är att när jag väljer "alla" så fungerar det hur bra som helst - men när jag väljer seniorer eller ungdomar så fungerar det inte alls.

Felmeddelandet lyder:
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
/stats_topp20indres4series.asp, line 52

Rad 52 är alltså databasanropet:
rsToplist.Open strSql, strCon

Jag testar att skriva ut både strSql och strCon, och de innehåller värden även vid val av seniorer eller ungdomar.

Koden för sidan ser ut så här:
<code>
<HTML><HEAD><TITLE>Söderkulla Bowlingklubb</TITLE></HEAD><BODY BGCOLOR="FFFFCC">

<%
strLagval = ""

strLagval = request.form("Lagval")

if strLagval = "" then
strLagval = "alla "
end if

%>

<script src="xaramenu.js"></script><script webstyle3 src="expression.js"></script><p></p>

<table border="1">
<tr><td width="500">
<h3>Statistik över de 20 bästa individuella resultaten</h3>
Här ser ni de 20 bästa individuella resultaten, i seriematchsammanhang, som Söderkullare har presterat denna säsongen, över fyra serier.
Obs att om det är flera som har samma resultat som 20:e man så visas de också, och därför kan listan innehålla mer än 20 resultat.
<p></p>
Ni kan även välja om ni vill se en topplista på alla, bara seniorer eller bara ungdomar (spel i U-lagen) genom att
pricka i önskat val (standard är att visa alla).<p></p>

<form action="stats_topp20indres4series.asp" method="post" name="ValForm" id="ValForm">

<%
if strLagval = "alla " then
response.write "<input type=""radio"" name=""Lagval"" value=""alla "" checked> Alla lag &nbsp;&nbsp; <input type=""radio"" name=""Lagval"" value=""senior""> Seniorlag &nbsp;&nbsp; <input type=""radio"" name=""Lagval"" value=""ungdoms""> Ungdomslag<br>"
strSql = "SELECT TOP 20 Namn, Totalt, Omgång, Statusnamn, Hall FROM T_Matchresultat ORDER BY Totalt DESC"

elseif strLagval = "senior" then

response.write "<input type=""radio"" name=""Lagval"" value=""alla ""> Alla lag &nbsp;&nbsp; <input type=""radio"" name=""Lagval"" value=""senior"" checked> Seniorlag &nbsp;&nbsp; <input type=""radio"" name=""Lagval"" value=""ungdoms""> Ungdomslag<br>"
strSql = "SELECT TOP 20 Namn, Totalt, Omgång, Statusnamn, Hall FROM T_Matchresultat WHERE Statusnamn <>""U*"" ORDER BY Totalt DESC"

elseif strLagval = "ungdoms" then

response.write "<input type=""radio"" name=""Lagval"" value=""alla ""> Alla lag &nbsp;&nbsp; <input type=""radio"" name=""Lagval"" value=""senior""> Seniorlag &nbsp;&nbsp; <input type=""radio"" name=""Lagval"" value=""ungdoms"" checked> Ungdomslag<br>"
strSql = "SELECT TOP 20 Namn, Totalt, Omgång, Statusnamn, Hall FROM T_Matchresultat WHERE Statusnamn Like ""U*"" ORDER BY Totalt DESC"
end if
%>

<br><input type="submit" name="BtnSend" value="Visa valda poster!">
</form>

<%
set rsToplist = Server.CreateObject("ADODB.Recordset")

strCon = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath ("sbk_allt.mdb")

rsToplist.Open strSql, strCon

response.write "Tabellen visar säsongens 20 bästa resultat från " & strLagval & "matcherna."
strToplistTabellHeader = "<table border=""1"" bordercolor=""silver""><tr><th>Spelare</th><th><center>Totalt</center></th><th><center>Omg</center></th><th>Lag</th><th>Hall</th></tr>"

do while not rsToplist.eof = true

strToplistTabellResultat = strToplistTabellResultat & "<tr><td>" & rsToplist(0) & "</td><td><center>" & rsToplist(1) & "</center></td><td><center>" & rsToplist(2) & "</center></td><td>" & rsToplist(3) & "</td><td>" & rsToplist(4) & "</td></tr>"
rsToplist.movenext
loop

strToplistTabellFooter = "</table>"

response.write strToplistTabellHeader & strToplistTabellResultat & strToplistTabellFooter

'set rsToplist = nothing
'set strCon = nothing

%>

</td></tr>
</table>

</body>
</html>
</code>

Tips på vad som kan vara galet?


Svara

Sv: Fel i databasanrop från ASP-sida?!

Postades av 2004-01-14 19:32:33 - Henrik Furst

Jag hittar ingen variabel som heter strSql i ditt skript, ändå försöker du öppna denna med ADODB. Det du antagligen är ute efter med variabeln strSql är att hämta något från databasen. Nu har du öppnat den i varabeln strCon.

Något så här kan det se ut istället
<code>
set rsToplist = Server.CreateObject("ADODB.Recordset")

strCon = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath ("sbk_allt.mdb")

strSql = "SELECT * FROM tabell ORDER BY ID DESC"

rsToplist.Open strSql, strCon
</code>

/Henke


Svara

Sv: Fel i databasanrop från ASP-sida?!

Postades av 2004-01-14 19:33:57 - Anna-Karin Söderberg


Kolla så att du inte har glömt eller har med fnuttar i SQL satsen.
Är det text ska det vara fnuttar runt, annars inte.

//Anna-Karin


Svara

Sv: Fel i databasanrop från ASP-sida?!

Postades av 2004-01-14 20:12:26 - Martin Nyman

strSql får sitt värde i andra if-satsen, och jag har testat att skriva ut den precis innan databasanropet och den finns där.

Den ser ut som följer:

<code>
<!-- Alla -->
SELECT TOP 20 Namn, Totalt, Omgång, Statusnamn, Hall FROM T_Matchresultat ORDER BY Totalt DESC

<!-- Seniorer -->
SELECT TOP 20 Namn, Totalt, Omgång, Statusnamn, Hall FROM T_Matchresultat WHERE (Statusnamn <> "U%") ORDER BY Totalt DESC

<!-- Ungdomar -->
SELECT TOP 20 Namn, Totalt, Omgång, Statusnamn, Hall FROM T_Matchresultat WHERE (Statusnamn Like "U%") ORDER BY Totalt DESC

</code>

Förtydligande är alltså att när strSql blir första alternativet, så fungerar det som det skall. I de andra fallen får jag felmeddelandet:

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

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/stats_topp20indres4series.asp, line 54


Svara

Sv: Fel i databasanrop från ASP-sida?!

Postades av 2004-01-14 20:17:09 - Martin Nyman

Jag tycker det ser rätt ut. Jag är förvisso ingen fantom på sql-uttryck och har tidigare haft det lite struligt med sql-koder i asp mot en accessdatabas (är ju inte exakt samma syntax som i själva access).


Svara

Sv: Fel i databasanrop från ASP-sida?!

Postades av 2004-01-14 21:00:19 - Henrik Furst

Hur mycket har du redigerat från den ursprungliga koden?
Nu står inte U% med två dubbelcitattecken omkring sig. Är U% något värde i databasen som måste vara uppfyllt?


Svara

Sv: Fel i databasanrop från ASP-sida?!

Postades av 2004-01-14 21:06:55 - Anna-Karin Söderberg

Jag antar att U% är text och då skall det vara enkelfnuttar runt.

<!-- Seniorer -->
SELECT TOP 20 Namn, Totalt, Omgång, Statusnamn, Hall FROM T_Matchresultat WHERE (Statusnamn <> " ' U% ' ") ORDER BY Totalt DESC

(OBS! Utan mellanslagen, det är bara för att visa vart jag lagt fnuttarna)

Sen är jag osäker på om du kan söka med sk wildcards i en WHERE sats, jag tror du måste använda LIKE istället.

//Anna-Karin


Svara

Sv: Fel i databasanrop från ASP-sida?!

Postades av 2004-01-14 21:47:48 - Martin Nyman

Jag har testat runt lite med olika fnuttar, för jag har trott tidigare att det måste vara ngt sådant som är fel. I första kodbiten, som ju fungerar, finns nämligen ingen where-sats med.

Skall kolla cougarinas lösning, det verkar nästan sannolikt att det är där felet ligger...

U% innebär (eller jag vill iaf att de skall innebära :D ) att lagnamnet skall börja med bokstaven U.

För visst är det väl % och inte * man använder som wildcard i sql?


Svara

Sv: Fel i databasanrop från ASP-sida?!

Postades av 2004-01-14 21:57:35 - Martin Nyman

Tack Cougarina, du fick mig på rätt spår.

<code>
SELECT TOP 20 Namn, Totalt, Omgång, Statusnamn, Hall FROM T_Matchresultat WHERE Statusnamn <> 'U%' ORDER BY Totalt DESC
</code>

Så skall det se ut (för att sortera ut dem som börjar med U iaf). Det var nog mina dubbelfnuttar som lurade dig - eftersom att det inte är ngn konkatenering så behövs ju inte " ' U% ' ", utan bara ' U% '. Det var jag som missat att det skulle vara enkelfnuttar inne i sql-satserna.

Nu skall vi bara se om jag får rätt på att sortera ut alla matcher som INTE har U som första bokstav :D

Tack för hjälpen alla iaf!


Svara

Sv: Fel i databasanrop från ASP-sida?!

Postades av 2004-01-14 22:00:39 - Martin Nyman

Så, nu sätter jag löst på denna tråden.

Gjorde en "fullösning" på sista problemet ("OR" på de fyra val som finns som inte börjar med U).


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 791
27 960
271 761
6 028
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