Avatar billede mskjoldp Novice
29. oktober 2005 - 21:46 Der er 8 kommentarer og
1 løsning

for få parametre

Hey E

Koden driller. Jeg kan udskrive hvilken og få de data jeg forventede, men hvis jeg bruger hvilken til at finde en bestemt række i en db, få jeg fejlen:
Der er for få parametre. Der var ventet 1.

Hvorfor det? Hvis jeg kan lave en Response.write hvilken - og få outputtet, hvorfor kan det så ikke bruges til at bestemme en række i en db?

et udpluk af koden:
            Set rs = Server.CreateObject("ADODB.Recordset")
                strSQL = "SELECT MOC_stelnr FROM fly_status WHERE ((Walk_out_1)<>'') OR ((Walk_out_2)<>'') OR ((Walk_out_3)<>'') OR ((Walk_out_a)<>'') OR ((Walk_out_b)<>'') OR ((Walk_out_c)<>'') OR ((tid_landing_1)<>'') OR ((tid_landing_2)<>'') OR ((tid_landing_3)<>'') OR ((tid_landing_a)<>'') OR ((tid_landing_b)<>'') OR ((tid_landing_c)<>'')"
                rs.Open strSQL,conn, 3, 3
                Do while not rs.eof
                    hvilken = rs("MOC_stelnr")
'                    Set rs = Server.CreateObject("ADODB.Recordset")
'                        strSQL = "SELECT * FROM fly_status WHERE MOC_stelnr=" & hvilken
'                            rs.Open strSQL, Conn, 1, 3
'                    Set rs = Nothing
                    Response.Write hvilken & "<br>"
                rs.MoveNext
                Loop
            Set rs = Nothing
Avatar billede erikjacobsen Ekspert
29. oktober 2005 - 21:52 #1
Måske

    strSQL = "SELECT * FROM fly_status WHERE MOC_stelnr='" & hvilken & "'"

er MOC_stelnr et tekstfelt?
Avatar billede mskjoldp Novice
30. oktober 2005 - 07:45 #2
Takker. Mine øjne fejler... jeg kendte jo godt den type fejl.

når men her er en ny:

Der opstod en Microsoft VBScript-kørselsfejl fejl '800a01a8'

Et objekt er obligatorisk

/fsnskp/RT-SRS/flyveplaner.asp, linje 31



            Set rs = Server.CreateObject("ADODB.Recordset")
                strSQL = "SELECT MOC_stelnr FROM fly_status WHERE ((Walk_out_1)<>'') OR ((Walk_out_2)<>'') OR ((Walk_out_3)<>'') OR ((Walk_out_a)<>'') OR ((Walk_out_b)<>'') OR ((Walk_out_c)<>'') OR ((tid_landing_1)<>'') OR ((tid_landing_2)<>'') OR ((tid_landing_3)<>'') OR ((tid_landing_a)<>'') OR ((tid_landing_b)<>'') OR ((tid_landing_c)<>'')"
                rs.Open strSQL,conn, 3, 3
                Do while not rs.eof
                    hvilken = rs("MOC_stelnr")
                    Set rs = Server.CreateObject("ADODB.Recordset")
                        strSQL = "SELECT * FROM fly_status WHERE MOC_stelnr='" & hvilken & "'"
                            rs.Open strSQL, Conn, 1, 3
                    Set rs = Nothing
(Linje 31)            rs.MoveNext
                Loop
            Set rs = Nothing

Denne fejl har jeg ikke set før...

Ideen med koden er at den skal opdatere flere rækker i et loop - og først prøver jeg at opbygge at koden løber alle SELECT gennem.
Avatar billede erikjacobsen Ekspert
30. oktober 2005 - 07:50 #3
Måske du lige sku' fjerne den "Set rs = Nothing" i linien før
Avatar billede mskjoldp Novice
30. oktober 2005 - 07:52 #4
gomorn jeg er en SPADE... :/
Avatar billede erikjacobsen Ekspert
30. oktober 2005 - 07:53 #5
Og måske du skulle bruge 2 forskellige navne til dine 2 forskellige recordsets.
Og måske du også skulle gøre noget med det næste recordset, men det kommer vel.
Avatar billede mskjoldp Novice
30. oktober 2005 - 07:53 #6
svar og lad os glemme dette spg....
Avatar billede mskjoldp Novice
30. oktober 2005 - 07:53 #7
har det...
Avatar billede erikjacobsen Ekspert
30. oktober 2005 - 07:55 #8
;) Tak, men jeg samler slet ikke på point. Du svarer. Du accepterer eget svar. Vi glemmer alt...
Avatar billede mskjoldp Novice
30. oktober 2005 - 07:59 #9
puuuuu ... alt er glemt
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester