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

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Database med tomt felt
Fra : MB


Dato : 12-01-03 20:38

Hej - håber I kan hjælpe en nybegynder med et lille (formentligt simplet)
problem:

Jeg har en database som bl.a. indeholder filnavnet på et stykke grafik. Min
side skal så efterfølgende vise billedet, hvilket fungere som det skal,
eller også skal den, hvis feltet i databasen er tom, skrive et stykke tekst.
Jeg har inkluderet et skykke af min kode, så i forhåbenligt kan se hvad der
er galt

objRec.open "users",objCon,0,1,0
while not objRec.eof
if objRec("billede") = null then
response.write "Intet billede"
else
response.write "<img src=" & objRec("billede") & ">" & "<br>"
objRec.movenext
end if
wend
objRec.close
set objRec = nothing

På forhånd tak for hjælpen!

/Morten



 
 
Jakob Andersen (12-01-2003)
Kommentar
Fra : Jakob Andersen


Dato : 12-01-03 20:57

"MB" <morten@smartcom.dk> wrote
> if objRec("billede") = null then

Prøv at rette ovenstående linie til:

If objRec( "billede" ) = Null or objRec( "billede" ) = "" Then

--
Jakob Andersen



MB (12-01-2003)
Kommentar
Fra : MB


Dato : 12-01-03 22:04

"Jakob Andersen" <jakob@effectus.dk> wrote
> if objRec("billede") = null then
>
> Prøv at rette ovenstående linie til:
>
> If objRec( "billede" ) = Null or objRec( "billede" ) = "" Then

Det har jeg prøvet og det løste ikke problemet. Andre gode forslag???



Peter Lykkegaard (12-01-2003)
Kommentar
Fra : Peter Lykkegaard


Dato : 12-01-03 22:10

Som svar på skriblerier forfattet af MB

> "Jakob Andersen" <jakob@effectus.dk> wrote

>> If objRec( "billede" ) = Null or objRec( "billede" ) = "" Then
>
> Det har jeg prøvet og det løste ikke problemet. Andre gode forslag???

Hvilken fejl får du ?

Prøv med
If Len(objRec("billede") & "") = 0 Then

Den tager højde for evt null values i din table
Evt kan du bruge trim
If Len(Trim(objRec("billede") & "")) = 0 Then

mvh/Peter Lykkegaard



TH (12-01-2003)
Kommentar
Fra : TH


Dato : 12-01-03 22:22

Hej,

"Peter Lykkegaard" <polonline@hotmail.com> skrev i en meddelelse
news:avslj8$7ak$1@sunsite.dk...

> If Len(objRec("billede") & "") = 0 Then
> Den tager højde for evt null values i din table
> Evt kan du bruge trim
> If Len(Trim(objRec("billede") & "")) = 0 Then

Det er ikke "valid" at teste NULL værdier med "len" eller "trim". De
forudsætter at den variable er en tekststreng....Alt efter database er NULL
ikke en tekststreng.

/TH


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.441 / Virus Database: 247 - Release Date: 09-01-2003



Jakob Andersen (12-01-2003)
Kommentar
Fra : Jakob Andersen


Dato : 12-01-03 23:38

"TH" <th@cogito.dk> wrote
> > If Len(Trim(objRec("billede") & "")) = 0 Then
>
> Det er ikke "valid" at teste NULL værdier med "len" eller "trim". De
> forudsætter at den variable er en tekststreng....Alt efter database er
NULL
> ikke en tekststreng.

Peter sørger jo netop for at håndtere dette ved at lægge værdien fra
databasen sammen med en tom streng. med:

objRec( "billede" ) & ""

Så den skulle være god nok.
--
Jakob Andersen



TH (12-01-2003)
Kommentar
Fra : TH


Dato : 12-01-03 23:48

Hej,

"Jakob Andersen" <jakob@effectus.dk> skrev i en meddelelse
news:avsqo0$1da7$1@news.cybercity.dk...

> Peter sørger jo netop for at håndtere dette ved at lægge værdien fra
> databasen sammen med en tom streng. med:
>
> objRec( "billede" ) & ""
>
> Så den skulle være god nok.

Så ikke den detalje...:)

/TH


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.441 / Virus Database: 247 - Release Date: 09-01-2003



Jakob Andersen (12-01-2003)
Kommentar
Fra : Jakob Andersen


Dato : 12-01-03 22:29

"MB" <morten@smartcom.dk> wrote
> Det har jeg prøvet og det løste ikke problemet. Andre gode forslag???

Har du prøvet at udskrive indholdet af feltet som burde være tomt?

Prøv evt. med:

If objRec( "billede" ) = Null or Trim(objRec( "billede" )) = "" Then

--
Jakob Andersen



TH (12-01-2003)
Kommentar
Fra : TH


Dato : 12-01-03 22:20

Hej,

"Jakob Andersen" <jakob@effectus.dk> skrev i en meddelelse
news:avshal$vnj$1@news.cybercity.dk...

> If objRec( "billede" ) = Null or objRec( "billede" ) = "" Then

Den metode fungerer ikke i VBScript-asp.
VB vil validere begge udtryk. Dvs den stopper ikke eksekveringen fordi
objRec(id)=NULL. Det vil så give en fejl når den skal valideres som streng
lige efter.

Fungerer dog i JScript...

/TH




---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.441 / Virus Database: 247 - Release Date: 09-01-2003



Jakob Andersen (12-01-2003)
Kommentar
Fra : Jakob Andersen


Dato : 12-01-03 22:54

"TH" <th@cogito.dk> wrote
> Den metode fungerer ikke i VBScript-asp.

Det ville jeg da tro, alle variabler er jo af typen variant. et database
NULL er jo ikke det samme som et VBScript NULL?

--
Jakob Andersen



TH (12-01-2003)
Kommentar
Fra : TH


Dato : 12-01-03 23:21

Hej,

"Jakob Andersen" <jakob@effectus.dk> skrev i en meddelelse
news:avso68$19b8$1@news.cybercity.dk...

> Det ville jeg da tro, alle variabler er jo af typen variant. et database
> NULL er jo ikke det samme som et VBScript NULL?

Varianter ja, men kun indtil de er tildelt en værdi. Så konverteres de "bag
ryggen"...
Jeg ved blot at fx. MSSQL server "NULL" ikke er det samme som vbscript
NULL...Access kender jeg ikke til, men det er muligt det fungerer i Access?

/TH



---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.441 / Virus Database: 247 - Release Date: 09-01-2003



Jakob Andersen (12-01-2003)
Kommentar
Fra : Jakob Andersen


Dato : 12-01-03 23:32

"TH" <th@cogito.dk> wrote
> Jeg ved blot at fx. MSSQL server "NULL" ikke er det samme som vbscript
> NULL...Access kender jeg ikke til, men det er muligt det fungerer i
Access?

Ja, selvfølgelig. Jeg tænkte mig ikke lige om..

If sætningen skal se sådan her ud:

If objRS( "felt" ) <> "" Then
'Udskriv værdi
Else
'Der er en NULL værdi/Ingenting i feltet
End if

--
Jakob Andersen



Jens Gyldenkærne Cla~ (13-01-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 13-01-03 00:02

TH skrev:

>> If Len(objRec("billede") & "") = 0 Then
>> Den tager højde for evt null values i din table
>> Evt kan du bruge trim
>> If Len(Trim(objRec("billede") & "")) = 0 Then
>
> Det er ikke "valid" at teste NULL værdier med "len" eller
> "trim".

Nej, men det er heller ikke en (ren) Null-test der foretages. Der
skal testes for om der står noget i feltet - dvs. feltet er ikke
null og feltet har en trimmet længde større end nul.

> De forudsætter at den variable er en tekststreng....

Ja - og det er objRec("billede") så vidt jeg kan se også
(indeholder filnavnet på et billede).

> Alt efter database er NULL ikke en tekststreng.

Null er ikke en tekststreng, men 'Null & ""' er en tekststreng,
hvis Null-værdien hører til en tekstvariabel.
--
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

TH (13-01-2003)
Kommentar
Fra : TH


Dato : 13-01-03 00:19

Davs,

"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
news:Xns9302616DFB2jcdmfdk@gyrosmod.cybercity.dk...

> Null er ikke en tekststreng, men 'Null & ""' er en tekststreng,
> hvis Null-værdien hører til en tekstvariabel.

Som du kan se i andet svar, missede jeg fuldstændig den detalje (& "")

/TH


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.441 / Virus Database: 247 - Release Date: 10-01-2003



TH (12-01-2003)
Kommentar
Fra : TH


Dato : 12-01-03 22:15

Hej,

"MB" <morten@smartcom.dk> skrev i en meddelelse
news:6qjU9.34527$Hl6.3827119@news010.worldonline.dk...

> objRec.open "users",objCon,0,1,0
> while not objRec.eof
> if objRec("billede") = null then
> response.write "Intet billede"
> else
> response.write "<img src=" & objRec("billede") & ">" & "<br>"
> objRec.movenext
> end if
> wend
> objRec.close
> set objRec = nothing

Jeg antager at det er det tomme billede som kikser? Efter din kode at dømme
bruger du "NULL" i databasen. Der er nogle uhensigtsmæssigheder i din kode
generelt. Fx. er der i tilfældet "intet billede" en uendelig løkke...dit
"MóveNext" kommer kun i tilfældet at billedet eksisterer. Jeg antager at du
mener at du vil trave hele objRec igennem efter valide billeder. Jeg ville
derfor gøre sådan:

objRec.open "users",objCon,0,1,0
if not objRec.eof then
while not objRec.eof
temppic=objRec("billede")
pic_ok=true
if isnull(temppic) then pic_ok=false
if temppic = "" then pic_ok=false

if pic_ok then
response.write "<img src=" & objRec("billede") & ">" & "<br>"
else
response.write "Intet billede"
end if

objRec.movenext
wend
end if
objRec.close
set objRec = nothing


/TH


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.441 / Virus Database: 247 - Release Date: 09-01-2003




Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408946
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste