webForumDet fria alternativet

Elakt SQLutryckt i asp

6 svar · 369 visningar · startad av adde2

adde2Medlem sedan maj 2000144 inlägg
#1

Har ett elakt SQL utryck som inte vill fungera.
Ser ut så här (med aspkod):

SQLString = "SELECT ID, falt1, falt2 FROM tabell WHERE falt1 = True AND falt2 = True"
rsObj.Open SQLString, connObj, 2, 2
if rsObj.RecordCount > 0 then
  rsObj.MoveLast
    do until rsObj.BOF
      'Här händer det lite saker men det är irrelevant
      rsObj.MovePrevious
    Loop
else%>
<img src="bild.gif" width="100" height="100">
<%end if
rsObj.Close%>

Får felmedelandet:
Microsoft JET Database Engine fel '80040e10'
No value given for one or more required parameters.
/gcse/index.asp, rad 99

där rad 99 är rsObj.Open... raden
connObj är ett connection object.
Tar jag bort SQLutrycken som börjar på WHERE så går det igenom utan felmedelande (men istället blir det fel senare på sidan, troligen beror dom felen på just det felet)
bilden ska bara visas om det inte finns något i databasen där utrycken inte är true. falt1 och falt2 är av typen "Ja/Nej" i Access.

------------------
Ytterligare en pajsare utan fruktan som jönsar vidare

[Redigerat av adde2 den 15 jun 2000]

sgtpepperMedlem sedan apr. 20005 524 inlägg
#2

Du har en felstavning i SQL-strängen:
SQLString = "SELECT ID, falt1, fal2 FROM tabell WHERE fal1 = True AND falt2 = True"

Skall antagligen vara
SQLString = "SELECT ID, falt1, falt2 FROM tabell WHERE falt1 = True AND falt2 = True"

------------------

1010011010 - The binary number of the beast

VideMedlem sedan dec. 19996 094 inlägg
#3

Tråden flyttas till forumet - SQL.

Vide, Moderator - WebForum

adde2Medlem sedan maj 2000144 inlägg
#4

Hmm, det var ett stavfel, (tittade mig blind på texten i säkert minst en timma)
Men ett dumt problem kvarstår.
I databasen så finns det två stycken poster som uppfyller vilkoret:
falt1 = True AND falt2 = True
Men ändå så returnerar rsObj.RecordCount värdet -1
Någon som har ett förslag vad det beror på?

------------------
Ytterligare en pajsare utan fruktan som jönsar vidare

[Redigerat av adde2 den 15 jun 2000]

[Redigerat av adde2 den 15 jun 2000]

adde2Medlem sedan maj 2000144 inlägg
#5

Löste det..
Läste att man ska vara sparsam med RecordSet.RecordCount.
Eftersom att den i regel returnerar fel värde om man inte har loopat igenom hela databasen.

------------------
Ytterligare en pajsare utan fruktan som jönsar vidare

PatrikBMedlem sedan mars 20002 713 inlägg
#6

Hello,

fast om man includerar adovbs.inc så brukar det fungera mycket bättre med rs.RecordCount tex ....

Läste ngnstans att man alltid ska includera den .... för snabb åtkomst av en hel del constanter etc.

//PatrikB

------------------
=================================
** ZWGdesign **
=================================

[Redigerat av PatrikB den 16 jun 2000]

adde2Medlem sedan maj 2000144 inlägg
#7

Skapar servern dom konstanterna ändå?
trots att man inte inkluderar den filen?
(jag har inte inkluderar den filen)
Kan inte riktigt förstå varför skripetet skulle fungera bättre för att man inkluderar en fil med konstanter...
När jag ämdå inte skriver ut konstantnamnen (däremot innehåller i konstanterna...)
t.ex raden
rsObj.Open SQLString, connObj, 2, 2
där värden 2, 2 just är sådana konstanter...

------------------
Ytterligare en pajsare utan fruktan som jönsar vidare

Genererad på 381 ms · cache AV · v20260730165559-full.f96bc7eb