[ASP] Kijken of er waardes in staan

Pagina: 1
Acties:

  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
Hoi ik wil uit een veld in mijn DB zien of er waardes in staan.
code:
1
2
3
4
5
6
Do while not records.eof
    If trim(records("room")) >"" then
        StrRoom = 1
    end if
    records.movenext
loop

waarom werkt dit niet ?

*edit verkeerde gepaste :)

  • chaozz
  • Registratie: Juni 2000
  • Laatst online: 23-08 22:57
ik heb geen idee wat je probeert, maar iets kan niet groter zijn dan "Erasmus room". deze code is onzin!!

wat wil je precies doen, dan kan ik je gericht helpen.

als je echt alleen maar wilt kijken of het veld leeg is, dan doe je toch zoiets:
code:
1
 if RS.Fields.Item("room") = "" then .. bla ..

chaozz.nl | RetroGameCouch


Verwijderd

Meestal duid je een veld aan met Rsveldnaam...
enne:
(records("room"))
niet dit?
(records("room").value)

Verwijderd

Ik ken geen ASP, maar ik neem aan dat de > comparator in ASP hetzelfde betekent als in andere talen: Groter dan. Wil je niet controleren of hij ongelijk is of zelfs leeg is?

edit: Lekker loat :P

  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
ik heb nu dit :
code:
1
2
3
If records.fields.item("room") > " " then
    Strroom = 1
end if

hij die het goed !, alleeen hij doet het niet als er geen data is :


Error Type:
(0x80020009)
Exception occurred.
/calendar/showdate.asp, line 23


he?

  • chaozz
  • Registratie: Juni 2000
  • Laatst online: 23-08 22:57
code:
1
2
3
If records.fields.item("room") <> "" then
    Strroom = 1
end if

probeer eens zo.... ook dus zonder de spatie tussen de haakjes!

chaozz.nl | RetroGameCouch


  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
hetzelfde :(

  • chaozz
  • Registratie: Juni 2000
  • Laatst online: 23-08 22:57
post je volledige stukje eens, dus ook waar je door de recordsets heenfietst. misschien vergeet je te controleren op EOF en BOF.

chaozz.nl | RetroGameCouch


  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<%


showdate = Request.QueryString("date")

set adoconnect = server.CreateObject("ADODB.Connection")
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(Application("vroot") & "calendar.mdb")
sqltext = "SELECT * FROM TblBooking WHERE Room='Erasmus Room 'AND date='" & showdate & "'"
adoconnect.Open strconn

Set records = adoconnect.Execute(sqltext)

If records.fields.item("room") <> "" then
    Strroom = 1
end if



if Strroom = 1 then

Response.Write("<b><h3>Erasmus Room</b></H3>" & "<BR>")
Response.Write("<table width='663' bgcolor=#3333FF border='0' style='border-collapse: collapse' cellpadding='0' cellspacing='0'><tr></font>")
Response.Write("<td ><b><font size=1 color='#FFFF00' face=Arial>Begin time</font></b></td>")
Response.Write("<td ><b><font size=1 color='#FFFF00' face=Arial>End time</b></td>")
Response.Write("<td ><b><font size=1 color='#FFFF00' face=Arial>First Name</b></td>")
Response.Write("<td ><b><font size=1 color='#3333FF' face=Arial>Last Name</b></td>")
Response.Write("<td ><b><font size=1 color='#3333FF' face=Arial>Beamer ?</b></td>")
Response.Write("<td ><b><font size=1 color='#3333FF' face=Arial>Vc ?</b></td>")
Response.Write("<td ><b><font size=1 color='#3333FF' face=Arial>Purpose of Meeting</font></b></td></tr>")

i = 1
Do while not records.eof
If i mod 2 = 0 Then
Response.Write("<TR bgcolor=#ABA7A8>")
Else
Response.Write("<TR bgcolor=#FFFFFF>")
End If
Response.Write("<TD ><b><font size=1 face=Arial>" & Records("begin_time") & "</TD>")
Response.Write("<TD ><b><font size=1 face=Arial>" & Records("end_time") & "</TD>")
Response.Write("<TD ><b><font size=1 face=Arial>" & Records("firstname") & "</TD>")
Response.Write("<TD ><b><font size=1 face=Arial>" & Records("Lastname") & "</TD>")
Response.Write("<TD ><b><font size=1 face=Arial>" & Records("beamer") & "</TD>")
Response.Write("<TD ><b><font size=1 face=Arial>" & Records("Videoconference") & "</TD>")
Response.Write("<TD ><b><font size=1 face=Arial>" & Records("Description") & "</TD>")
Response.Write("</TR>")
i = i + 1
records.movenext
loop

Response.Write("</TABLE>")

adoconnect.Close
set adoconnect=nothing
end if

%>

Verwijderd

Moet je niet nog controleren of er null in staat?
code:
1
2
3
If (records.fields.item("room") <> "") OR (records.fields.item("room") <> NULL) then
    Strroom = 1
end if

  • Greyfox
  • Registratie: Januari 2001
  • Laatst online: 08-09 21:20

Greyfox

MSX rulez

Op vrijdag 12 april 2002 13:09 schreef chaozz het volgende:
code:
1
2
3
If records.fields.item("room") <> "" then
    Strroom = 1
end if
Als het veld NULL bevat, kom je hier in de problemen.
Je moet dan het volgende gebruiken:
code:
1
2
3
4
5
If Not IsNull(records.fields("room")) then
  If records.fields("room").Value = "" then
    Strroom = 1
  End if
end if

MSX 2 rulez more


Verwijderd

Klopt, ik kwam er ook net achter dat mijn code niet helemaal (helemaal niet) klopte

  • chaozz
  • Registratie: Juni 2000
  • Laatst online: 23-08 22:57
Op vrijdag 12 april 2002 13:18 schreef burp2001 het volgende:
code:
1
2
3
4
5
6
7
8
9
10
11
<%


showdate = Request.QueryString("date")

set adoconnect = server.CreateObject("ADODB.Connection")
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(Application("vroot") & "calendar.mdb")
sqltext = "SELECT * FROM TblBooking WHERE Room='Erasmus Room 'AND date='" & showdate & "'"
adoconnect.Open strconn

%>
wat foutjes in je query iig.

1. er staat een spatie in 'Erasmus Room ' <-- (na room)
2. een date vergelijken moet zo:
code:
1
date=#" & date & "#"

als het een echt datum veld is iig.


en waarom zou je controleren of Room wel Erasmus is na je Query??? je query selecteerd alleen de records die aan je voor waarden (='Erasmus Room') voldoen. dus dat is dubbelop.. en je controleerd het zo ook alleen voor het eerste record, want je laat hem buiten je loop.

maar je hoeft dit dus niet nogmaals te controleren.

chaozz.nl | RetroGameCouch


  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
ik heb de SQL statement aangepast ! thanks.

maar ik krijg deze melding:

Error Type:
ADODB.Field (0x800A0BCD)
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
/calendar/showdate.asp, line 24

met deze code :
code:
1
2
3
4
5
If Not IsNull(records.fields("room")) then
  If records.fields("room").Value = "" then
    Strroom = 1
  End if
end if

  • chaozz
  • Registratie: Juni 2000
  • Laatst online: 23-08 22:57
nogmaals. je HOEFT NIET te controleren of room leeg (NULL) is, dat doet je SQL Query al!!!!

chaozz.nl | RetroGameCouch


  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
als ik deze check er niet in doe dan laat hij gewoon de header zien van mijn tabel, hij zet er alleen geen waarde in.

met deze check laat hij ook die header niet zien.
Pagina: 1