/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Fejl 80020009
Fra : Jørgen Müller


Dato : 19-11-03 12:04

Hej Gruppe

Jeg kører en SQL forespørgsel fra ASP op mod en msSQL server og i de fleste
tilfælde vil den ikke finde nogen poster. Det er som det skal være.

Problemet opstår når jeg herefter skriver:
If rs.BOF OR (rs("Vægt")* 10) < vgt Then
visStorfanger = "Ja"
Else
visStorfanger = "Nej"
End If
så får jeg en fejl 80020009 undtagelse opstod. Fejlen optræder i linien If
rs.BOF OR rs("Vægt")
En søgning på google siger, at der skal bruges en opdaterbar forespørgsel,
går ud fra det betyder at recordsettet ikke må være tomt? og det er rigtigt
at rs("Vægt") for det meste ikke vil indeholde noget.

Fejlen kan undertrykkes ved at skrive On Error Resume Next men vil hellere
kunne programmere mig ud af det, nogen der kan hjælpe?

--
Med Venlig Hilsen
Jørgen Müller



 
 
Jens Gyldenkærne Cla~ (19-11-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 19-11-03 13:42

Jørgen Müller skrev:

> Jeg kører en SQL forespørgsel fra ASP op mod en msSQL server
> og i de fleste tilfælde vil den ikke finde nogen poster. Det
> er som det skal være.
>
> Problemet opstår når jeg herefter skriver:
> If rs.BOF OR (rs("Vægt")* 10) < vgt Then

Det kriterium forstår jeg ikke. Hvis du har et tomt postsæt, vil
forsøg på at trække rs("Vægt") ud give fejl. Jeg ville først tjekke
for et tomt sæt, og derefter tjekke for værdien af rs("vægt):

If not rs.EOF Then
   If rs("Vægt") < vgt Then
       ' Gør dit
   Else
       ' Gør dat
   End If
Else
   ' postsættet er tomt-handling
End If
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jørgen Müller (20-11-2003)
Kommentar
Fra : Jørgen Müller


Dato : 20-11-03 11:38

Jens Gyldenkærne Clausen skrev:
>Jeg ville først tjekke
>for et tomt sæt, og derefter tjekke for værdien af rs("vægt):
Det har jeg så gjort og som sædvanlig virker dine forslag, så endnu en gang
tak Jens.

> If rs.BOF OR (rs("Vægt")* 10) < vgt Then
>Det kriterium forstår jeg ikke.

Var af den overbevisning, af hvis det første kriterium var falsk, så
kontrollerede
den ikke for det andet kriterium? Der tog jeg fejl.
--
Med Venlig Hilsen
Jørgen Müller



Jens Gyldenkærne Cla~ (20-11-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 20-11-03 11:59

Jørgen Müller skrev:

>> If rs.BOF OR (rs("Vægt")* 10) < vgt Then

> Var af den overbevisning, af hvis det første kriterium var
> falsk, så kontrollerede
> den ikke for det andet kriterium? Der tog jeg fejl.

Det vil muligvis gælde for AND - hvis første kriterium ikke holder,
så behøver man ikke beregne andet kriterium. Med OR er det omvendt
- her er det hvis første kriterium er _sandt_ at det andet kan
skippes. Så vidt jeg husker er rs.BOF altid sand når man åbner et
nyt recordsæt - uanset om det er tomt eller ej.
--
Jens Gyldenkærne Clausen
»Diplomatiet består netop i, at de gamle kommatister kan få lov til
at tro, at de har vundet. Men i virkeligheden har de tabt.«
Ole Togeby i Information

Jørgen Müller (20-11-2003)
Kommentar
Fra : Jørgen Müller


Dato : 20-11-03 12:07

Jens Gyldenkærne Clausen skrev:
>Det vil muligvis gælde for AND - hvis første kriterium ikke holder,
>så behøver man ikke beregne andet kriterium. Med OR er det omvendt
>- her er det hvis første kriterium er _sandt_ at det andet kan
>skippes. Så vidt jeg husker er rs.BOF altid sand når man åbner et
>nyt recordsæt - uanset om det er tomt eller ej.

Tak igen Jens så blev jeg så klog.

Har prøvet at lave sætningen med både rs.EOF og rs.BOF endda med (rs.BOF OR
rs.EOF) men det hjalp ikke, så din løsning var den eneste jeg kunne få til
at virke.
--
Med Venlig Hilsen
Jørgen Müller



Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408518
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste