10. januar 2001 - 15:27
Der er
3 kommentarer og 1 løsning
Hent fra DB og Response.Write If...
Halløj Jeg skal hente noget data fra en DB og opbygge en tabel med det hvis det findes. Jeg troede jeg kunne gøre som følger, men den går i gang med at skrive tabellen selvom der ikke er nogen records. Hvordan skrives det så den først laver tabellen hvis den finder en/flere records? strSQL = \"SELECT link FROM Tabel WHERE id = \" & strID & \";\" Set objRecordSet = Server.CreateObject(\"ADODB.Recordset\") objRecordSet.Open strSQL, objConnection If Not objRecordSet.BOF Or objRecordSet.EOF = True Then Response.Write \"<table>\" While Not objRecordSet.EOF = True Response.Write \"<tr><td>\" & objRecordSet(\"link\") & \"</td></tr>\" objRecordSet.MoveNext Wend Response.Write \"</table>\" & vbCrLf End If
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
10. januar 2001 - 15:30
#1
Der skulle være en \"recordcount\" på din \"objRecordSet\", som fortæller hvor mange records der er returneret.
10. januar 2001 - 15:36
#2
Du skal bruge and istedetfor or If Not objRecordSet.BOF And objRecordSet.EOF = True Then
10. januar 2001 - 15:40
#3
Prøv dette: strSQL = \"SELECT link FROM Tabel WHERE id = \" & strID & \";\" Set objRecordSet = Server.CreateObject(\"ADODB.Recordset\") objRecordSet.Open strSQL, objConnection If Not ((objRecordSet.BOF) Or (objRecordSet.EOF)) then Response.Write \"<table>\" While Not (objRecordSet.EOF) = True Response.Write \"<tr><td>\" & objRecordSet(\"link\") & \"</td></tr>\" objRecordSet.MoveNext Wend Response.Write \"</table>\" & vbCrLf End If - - - - - Grunden til at jeg sætter unødige parenteser er pga. læseligheden.
10. januar 2001 - 15:41
#4
skal være AND og ikke OR hved And objRecordSet.EOF -Mystiq-
Kurser inden for grundlæggende programmering