Avatar billede mskjoldp Novice
20. november 2004 - 15:07 Der er 6 kommentarer og
1 løsning

hent de rigtige poster i db'en

Hej E

Jeg laver et udtræk fra en access DB, på en IIS 5.0 via ASP kode.

men desværre fik det ikke den ønskede effekt... jeg har lavet en streng:
set rs = conn.execute ("select count(BilledeID) as totalpics from "&table&" where Bsti='"&"gfx/galleri/biler/"&"'")

hvor table er en variabel der angiver fra hvilken table der skal hentes

stregen henter data fra DB'en... men følger ikke WHERE Bsti=osv... udtrækket bliver istedet til de 22 første rækker i DB'en, og der er nok 75. Nu er det sådan, at der er 22 felter i DB'en hvor Bsti = gfx/galleri/biler/ og de er spredt ned gennem DB'en... så hvorfor henter strengen de 22 første felter? istedet for der hvor de er listet i tabellen?

Strengen skal hente de 22 felter hvor de nu er listet i DB'en, og burde den engenlig ikke det?

Eller hvad?

/Skjold
Avatar billede hmortensen Nybegynder
20. november 2004 - 15:09 #1
COUNT() henter ikke noget data. Den tæller rækker, og hvis den returnere 22, er det vel rigtigt nok.

Jeg kan ikke se dit problem
Avatar billede hiks Nybegynder
20. november 2004 - 20:20 #2
hvis resten har værdien Null tæller de ikke med i en count(attributnavn) - prøv istedet at tælle på id'et eller count(*)

/hiks
Avatar billede mskjoldp Novice
22. november 2004 - 02:51 #3
count(BilledeID) tæller på id'et
Avatar billede mskjoldp Novice
22. november 2004 - 03:10 #4
mit problem er at jeg ikke kan hente de 22 billeder rigtigt i denne kode:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>Slideshow</title>
</head>

<body onload="">
<form id=picfrm name=picfrm>

<%
'connect til database
' instance af Server.CreateObject("ADODB.Connection") skal være "conn"
dim table, filename, imagepath, orderby
' tabelnavn
table = "billeder"

' kolonne i tabel indeholdende billedets filnavn
filename = "Bsrc"

' stien til billederne
imagepath = "gfx/galleri/biler/"

'sortering
orderby = "BilledeID"

if orderby <> "" then
    orderby = "order by "& orderby
end if

set rs = conn.execute ("select count(BilledeID) as totalpics from "&table&" where Bsti='"&imagepath&"'")

%>
<script language=javascript>

<%
' opret javascript variabler
response.write "// variabler"& vbcrlf
response.write "var imgpath =""" & imagepath & """;" & vbcrlf
response.write "var pic;"& vbcrlf
response.write "var totalpics =" & rs("totalpics") &";"& vbcrlf
response.write "var currenttime = 0;"& vbcrlf
response.write "var onoff = -1;"& vbcrlf
response.write "var picnum = 0;"& vbcrlf
response.write "var PicArray = new Array("&rs("totalpics") + 1&");" & vbcrlf& vbcrlf& vbcrlf

' hent billeder
set rs = conn.execute ("select * from " & table & " " & orderby)
i = 1

' opret javscript array
do while not rs.eof
    response.write "PicArray["&i&"]="& "'" & rs(filename)  &"'"& vbcrlf
    i = i + 1
    rs.movenext
loop



%>

// funktion til billedskift
function newpic(way){
    // nyt id i array
    pid = picnum + way;
   
    if (pid > totalpics ){
        pid = 1;
        }

    if (pid < 1){
        pid = totalpics;
        }

   
    // husk aktuel værdi
    picnum = pid;

    //status
    document.all.picinfo.innerHTML = PicArray[pid] + "  -  billede " + pid  + " af " + totalpics;

   
    // find billedet i array
    pic = imgpath + PicArray[pid];

    // sæt nyt billede
    document.picfrm.pic.src= pic;
   
   
}

// timer funktion
function WinTimer()
{
    if (onoff > 0 ){
    currenttime = currenttime + 1;
    time = document.picfrm.timesel.value;
    if (currenttime >= time && time > 0 ) {
        newpic(1);
        currenttime = 0;
    }
    }
}

window.setInterval("WinTimer()", 1000);

function setstate(){
onoff = onoff * -1;

if (onoff > 0) {
    document.picfrm.power.value = "Stop Slideshow";
    }
    else{
    document.picfrm.power.value = "Start Slideshow";
    }
}

</script>



<table border=1>
<tr>
    <td>
        Skift automatisk hvert
        <select name="timesel" id="timesel">
        <option value="1">1 sek.</option>
        <option value="2">2 sek.</option>
        <option value="5">5 sek.</option>
        <option value="10">10 sek.</option>
        <option value="15">15 sek.</option>
        <option value="20">20 sek.</option>
        <option value="25">25 sek.</option>
        <option value="30">30 sek.</option>
        </select>
    </td>
    <td align=left>
        <input type=button name=power id=power onclick=setstate(); value="Start Slideshow">
    </td>
</tr>
<tr>
    <td onclick="newpic(-1);" style=cursor:hand align=center>
        Forrige
    </td>
    <td onclick="newpic(1);" style=cursor:hand align=center>
        Næste
    </td>   
</tr>
<tr>
    <td colspan=2 align=center>
        <div id="picinfo">
            Info
        </div>
    </td>
</tr>
<tr>
    <td colspan=2><tdcolspan=2>
        <img src="" id=pic name=pic>
    </td>
</tr>
</table>
<script language=javascript>
    newpic(1);
</script>
</form>
</body>
</html>
Avatar billede mskjoldp Novice
22. november 2004 - 03:11 #5
denne linje:
' hent billeder
set rs = conn.execute ("select * from " & table & " " & orderby)

kan jeg ikke redigere til at hente de 22 billeder uden at der sker fejl...

/Skjold
Avatar billede mskjoldp Novice
22. november 2004 - 03:12 #6
i koden: set rs = conn.execute ("select * from " & table & " " & orderby) vil jeg gerne have tilføjet en WHERE sætning: WHERE Bsti=gfx/gallei/biler/  ... men det lykkedes ikke
Avatar billede mskjoldp Novice
30. november 2004 - 22:09 #7
lukker uden svar...
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