Just nu i M3-nätverket
Jump to content

Tomma fält


Catrine

Recommended Posts

Hej

Jag har en liten fråga, det är så att jag på en sida har skapat en dropdown lista som fylls med hjälp av en sql sats. Alltså fylls den med information från en databas.

 

Och nu är det så att man genom den dropdown listen ska kunna välja en kurs(det handlar om kurser) och komma vidare till en sida som heter kursinfo, som innehåller diverse information om kursen.

 

Men nu är det så att om man t.ex. väljer en kurs i dropdownen som saknar information i databasen, då kommer det upp ett felmeddelande om att sidan inte kan visas...

 

Är det någon som kan försöka förklara eller berätta för mig hur man på något sätt kan få det att funka på så sätt att om man väljer en kurs i dropdown menyn och det sen visar sig att det fattas information om kursen och att sidan inte kan visas så vill jag endå att man kommer till en sida som heter kursinfo.asp och där ska det bara stå att det inte finns någon information om kursen.

Alltså om det finns ett Null värde i databasen så ska den skriva ut "Ingen information finns" istället...

 

Är det någon som förstår vad jag menar, kanske någon som inte är lika förvirrad som jag är just nu :)

 

//Catrine

 

Link to comment
Share on other sites

Hej!

En smidig lösning vore väl att du till varje element i dropdown-menyn kopplar ett ID, förslagsvis samma som du antagligen har till varje kurs i databastabellen.

När en kurs är vald skickas man till infosidan med en querystring som talar om vilken kurs som är vald, exempelvis "kursinfo.asp?KursID=32".

 

På den nya sidan plockar man fram all information som finns om kursen med en selectsats, ex

KursInfo = "select * from db_kurs where ID = "&request.querystring("KursID")&""

 

Sen kör du bara en ifsats (lite förenklat):

 

<% if KursInfo("Info") <> "" then %>
<%=KursInfo("Info")%>
<% else %>
Ingen information finns
<% end if %>

 

Hoppas jag uppfattade ditt problem rätt och att det kan vara till någon hjälp.

 

Link to comment
Share on other sites

Jo men det är precis så där jag gör...

jag plockar fram ett antal fält ifrån olika tabeller med hjälp av ett id från drowdown menyn.

Men nu är det så att om databasen inte är ordentligt ifylld och det fattas information i vissa av tabellerna så kommer det upp en sida som säger

 

Feltyp:

ADODB.Field (0x80020009)

Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post.

 

Alltså hittar den inte vissa fält, och det är det jag vill försöka komma ifrån, att även om vissa fält saknas så ska det skrivas ut att information saknas.

Det är oftast i tabellerna mal, malgrp och inneh som det saknas information, och oftast i kolumnerna kmal, kmalgrp, kinneh och det är detta jag vill på något sätt testa innan sidan visas, om det finns någon information i dessa fält, och finns det inte det så ska den skriva under deras rubriker "ingen information finns"

 

//Catrine

 

Link to comment
Share on other sites

Magnus Gladh

Du blandar ihop null värde i ett fält i databasen och att inte få någon data tillbaka från din SQL fråga.

 

Alltså BOF eller EOF berättar för dig att ditt recordset inte innehåller någon data, alltså din SQL sats returnerade ingenting.

 

NULL i ett fält löses med IsNull() om ditt fält däremot är tomt (inte samma som NULL) så kollas dem med <> "" eller Len() <> 0.

 

Så för att vara riktigt säker på att du inte skall få några fel, så måste du ha många konroller. Typ så här.

 

if not oRecordSet.eof then
_do until oRecordSet.eof
__if IsNull(oRecordSet.fields("...").value) OR Len(oRecordSet.fields("...").value) = 0 then
___response.write "Ditt fält innehåller ingen data"
__else
___response.write "Ditt fält innehåller:" & oRecordSet.fields("...").value
__end if
__oRecordSet.movenext
_loop
else
_response.write "Ditt recordset innehåller ingen data"
end if

 

Nu är du idiotsäker :)

 

- Magnus

-----------------------------------------------------

Ropen skalla, BBB (eller BOSTREAM) åt alla!!!

 

[inlägget ändrat 2003-06-27 12:04:49 av Magnus Gladh]

Link to comment
Share on other sites

Jag får det fortfarande inte att fungera...

 

Eftersom min sql sats inte retunerar något värde överhuvudtaget om något fält är tomt så går det ju inte heller att använda if satserna...

Eller?

 

För jag får det inte att fungera, eftersom de som har gjort databasen har klantat sig lite och inte fyllt i vissa utav fälten så retuneras inte heller något värde

 

SELECT utbkat.u_u002, utbkat.u_u001, utbkat.u_u004, utbkat.u_u007, mal.kmal, malgrp.kmalgrp, forkun.kforkun, littera.klittera, ovrgt.kovrgt, inneh.kinneh FROM paplus.utbkat utbkat, paplus.mal mal, paplus.malgrp malgrp, paplus.forkun forkun, paplus.littera littera, paplus.ovrgt ovrgt, paplus.inneh inneh WHERE utbkat.u_u001 = mal.u_u001 AND utbkat.u_u001 = malgrp.u_u001 AND utbkat.u_u001 = forkun.u_u001 AND utbkat.u_u001 = littera.u_u001 AND utbkat.u_u001 = ovrgt.u_u001 AND utbkat.u_u001 = inneh.u_u001 AND mal.u_u001='"& kurskod &"'"

 

Så ser min sql sats, men eftersom kurskoden inte finns i vissa av tabellerna så får jag inte heller något värde tebax...

Är det någon som har något tips om hur jag kan få det att fungera...jag har försökt med den hjälpen jag fick här om dagen, men får det inte att fungera...

 

 

//Catrine

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...