Avatar billede kovalt Nybegynder
06. december 2002 - 19:33 Der er 27 kommentarer og
1 løsning

Hvorfor virker det her ikke!!

<div align="center">

<%

intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT dato, indsats, kommentarer FROM fallesspil ORDER BY spilnr DESC"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" + Server.MapPath("XXX")
rs.Open strSQL, strDSN, 1

If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 5
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount %>

    <table border="0" width="420" cellpadding="5" cellspacing="0">
      <tr>
        <td height="20" colspan="2" bgcolor="#333333"><font size="1" color="#FFFFFF"><strong>Fælles Spil</strong></font></td>
      </tr>
      <tr>
        <td height="5" colspan="2"></td>
      </tr>
      <tr>
        <td colspan="2"><strong>Side <% =intPage %> af <% =intPageCount %></strong></td>
      </tr>
      <tr>
        <td height="5" colspan="2"></td>
      </tr>
      <tr>
        <td>
        <%    Response.Write "Gå til side "
        For intNum = 1 To intPageCount
        Response.Write "<a href=?valgt=fallesspil&page=" & intNum & ">" & intNum & "</a> "
        Next
       
        Response.Write "<br>"
        If Clng(intPage) > 1 Then
            Response.Write "<a href=?valgt=fallesspil&page=" & intPage - 1 & ">&lt;&lt;</a>"
        Else
            Response.Write "&lt;&lt;"
        End If
       
        Response.Write "&nbsp;"
       
        If Clng(intPage) < Clng(intPageCount) Then
            Response.Write "<a href=valgt=fallesspil&page=" & intPage + 1 & ">&gt;&gt;</a> "
        Else
            Response.Write "&gt;&gt;"
        End If %>
       
        </td>
      </tr>
    </table>

    <br>
   
    <% Do While Not rs.EOF And intRecCount > 0 %>

  <table border="1" bordercolor="#000000" width="420" cellpadding="5" cellspacing="0">
    <tr bgcolor="#999999">
      <td colspan="2" bordercolor="#999999"><font color="#000000"><strong>Dato: <% =rs("dato") %></strong></font>
      </td>
    </tr>
  </table>
 
  <br>
 
  <table border="1" bordercolor="#000000" width="420" cellpadding="5" cellspacing="0"> 
    <tr>
      <td colspan="2" bordercolor="#E9E9E9" bgcolor="#E9E9E9">
      Der er spillet følgende:<br><br>
        <table border="0" width="330">
            <tr>
              <td width="150"><strong>Kamp</strong></td>
              <td width="50" align="center"><strong>Spillet</strong></td>
              <td width="50" align="center"><strong>Odds</strong></td>             
              <td colspan="3" width="30" align="center"><strong>Score</strong></td>
              <td width="50" align="center"><strong>Res</strong></td>                           
            </tr>
            <%
            Set Conn = Server.CreateObject("ADODB.Connection")
            Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" + Server.MapPath("XXX"))
       
            strSQL = "SELECT * FROM kampe WHERE dato = #"& dato &"#"
            set rs2 = conn.execute(strSQL)
       
            totalodds = 1
               
            while not rs2.EOF %>
            <tr>
              <td width="150"><% =rs2("hhold") %> - <% =rs2("uhold") %></td>
              <td width="50" align="center"><% =rs2("spillet") %></td>
              <td width="50" align="center"><% =formatnumber(rs2("odds"),2) %></td>             
              <td width="10" align="center"><% =rs2("scoreh") %></td>
              <td width="10" align="center">-</td>
              <td width="10" align="center"><% =rs2("scoreu") %></td>
              <td width="50" align="center"><% =rs2("res") %></td>                           
            </tr>
            <%
            totalodds = totalodds * CDbl(rs2("odds"))
            rs2.MoveNext
            Wend

            gevinst = CDbl(totalodds) * CDbl(rs("indsats"))
            %>
            <tr>
              <td colspan="2" width="200"></td>
              <td width="50" align="center"><strong><% =FormatNumber(totalodds,2) %></strong></td>
              <td colspan="4" width="80"</td>
            </tr>
        </table> 
        <br>
        Indsatsen er: <% =formatcurrency(rs("indsats"),2) %><br>
        Mulig gevinst: <% =formatCurrency(gevinst,2) %>
      </td> 
    </tr>
    <tr bordercolor="#FFFFFF">
      <td colspan="2" bordercolor="#E9E9E9" bgcolor="#E9E9E9"><% =Replace(rs("kommentarer"), VbCrLf, "<br>") %>
      </td>
      </tr>
    </table>
   
    <br>
    <br>
   
    <% intRecCount = intRecCount - 1
    rs.MoveNext
    Loop
   
    End If

rs.Close
Set rs = Nothing %>

</div>

Det rs2 jeg får ud er tomt af en eller andet grund.... hvis jeg udskriver rs("dato") er den fuldstændig ens med rs2("dato")
Avatar billede Slettet bruger
06. december 2002 - 19:35 #1
prøv at lukke dit recordset

rs.close
set rs = nothing

efter at du er færdig med din første strSQL
Avatar billede Slettet bruger
06. december 2002 - 19:36 #2
eller også kalde din anden SQL noget andet end den første kunne tænkes at den bare executer den første SQL
Avatar billede eagleeye Praktikant
06. december 2002 - 19:36 #3
Jeg kan ikke se hvor du definere eller sætte dato = en dato fra rs("dato") i denne SQL:

strSQL = "SELECT * FROM kampe WHERE dato = #"& dato &"#"
Avatar billede eagleeye Praktikant
06. december 2002 - 19:37 #4
Så prøv dette husk også at dato skal være i yyyy-mm-dd eller mm-dd-yyyy format i SQL sætninger som bruger US/UK dato format og ikke dansk.:


dato = Year(rs("dato")) & "-" & month(rs("Dato")) & "-" & day(rs("dato"))
strSQL = "SELECT * FROM kampe WHERE dato = #"& dato &"#"
Avatar billede kovalt Nybegynder
06. december 2002 - 19:49 #5
nu ser det sådan her ud......

(i uddrag :-) )

            <%

            dato = Year(rs("dato")) & "-" & month(rs("Dato")) & "-" & day(rs("dato"))
           
            Set Conn = Server.CreateObject("ADODB.Connection")
            Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" + Server.MapPath("../database/nyheder.mdb"))
       
            strSQL = "SELECT * FROM kampe WHERE dato = #"& dato &"#"
            set rs2 = conn.execute(strSQL)
       
            totalodds = 1
               
            while not rs2.EOF or rs2.BOF %>
Avatar billede kovalt Nybegynder
06. december 2002 - 19:49 #6
og virker stadig ikke rs2 er tomt
Avatar billede eagleeye Praktikant
06. december 2002 - 19:51 #7
Er kolonnen defineret som dato/tis type i kampe?
Avatar billede kovalt Nybegynder
06. december 2002 - 19:55 #8
tis?

Begge er defineret som dato!
Avatar billede eagleeye Praktikant
06. december 2002 - 19:57 #9
doh min fejl det skulle være tid :)

Hvad hvis du prøver at skriver:
strSQL = "SELECT * FROM kampe WHERE dato = #"& rs("dato") &"#"
Avatar billede kovalt Nybegynder
06. december 2002 - 22:35 #10
Det var sådan jeg startede...... det virkede heller ikke....

Det er skægt for jeg gør det mange andre steder hvor det tilsyneladende er det samme jeg gør..... men jeg er ret sikker på at det er dato-formatet der på en eller anden måde ikke er ens... hvad siger du
Avatar billede eagleeye Praktikant
06. december 2002 - 22:38 #11
Ja det var måske en mulighed.. Hvis det langt-dato format i det ene og kort-dato format i den anden....

Hvis du eksvis har både dato og tid i rs2 ( 24-12-2002 12:34:53) og kun dato i i rs("dato") så vil den ikke finde noget.
Avatar billede kovalt Nybegynder
06. december 2002 - 22:50 #12
Hvis jeg manuelt sammen ligner strengene.

if rs("dato") = rs2("dato") then
  reponse.write "Dette er en test"
end if

udskriver den "dette er en test"

er det ikke lidt underligt
Avatar billede kovalt Nybegynder
06. december 2002 - 22:51 #13
Når man trækker en dato-streng ud af en DB med SQL er den så uforanderlig eller bliver den påvirket af eksvis session.lcid = 1030 - ved du det?
Avatar billede eagleeye Praktikant
06. december 2002 - 22:52 #14
Jo det er meget underligt..

Prøv at udskrive din strSQL inden du åbner rs2 og se at dato'en er rigtigt kommet med.
Avatar billede kovalt Nybegynder
06. december 2002 - 22:52 #15
men det burde omvendt også gælde for dem begge så
Avatar billede eagleeye Praktikant
06. december 2002 - 22:53 #16
Ja formatet bliver som bestemt ved Session.LCID
Avatar billede kovalt Nybegynder
06. december 2002 - 22:54 #17
Ahhhh nu begyder vi at nærme os noget..... den udskriver følgende:

SELECT * FROM kampe WHERE dato = #2002-6-12# ORDER BY dato DESC

datoerne ligger dog begge med tid i DB men det kommer åbenbart ikke med over i SQL'en
Avatar billede eagleeye Praktikant
06. december 2002 - 22:54 #18
Nej ikke omvendt, der er det SQL som bestemmer dato formatet. Og SQL bruger US/UK dato format med månede først mm-dd-yyyy eller denne virker også yyyy-mm-dd
Avatar billede kovalt Nybegynder
06. december 2002 - 22:55 #19
tiden er forsvundet
Avatar billede eagleeye Praktikant
06. december 2002 - 22:57 #20
Så der er også tid på rs("dato")  ?? 
For så skal denne linie rettes:

dato = Year(rs("dato")) & "-" & month(rs("Dato")) & "-" & day(rs("dato"))

Til:

dato = Year(rs("dato")) & "-" & month(rs("Dato")) & "-" & day(rs("dato")) & " " & Hour(rs("dato"))& ":" & Minute(rs("dato")) & ":" & Second(rs("dato"))
Avatar billede kovalt Nybegynder
06. december 2002 - 22:58 #21
Af en ellers ande grund så er den dato som jeg får ud med rs2, og som er ens med den for rs i DB, ikke den samme...

Den dato som findes i rs2 er

12-06-2002 19:25:28
Avatar billede eagleeye Praktikant
06. december 2002 - 23:00 #22
Jeg er ikke helt med på det sidste du skrev?
Avatar billede kovalt Nybegynder
06. december 2002 - 23:02 #23
så virker det.....

Det er ellers meget smart at man lige kan lave det der nummer med at omstrukturere datoerne bare det er en dato man har trukket ud....

Men grunden var således at SQL kører UK/USA format og at jeg har sat mit til dansk og at der derfor er konflikt
Avatar billede kovalt Nybegynder
06. december 2002 - 23:03 #24
hvilke sprog kan du i grunden programmere i om jeg må spørge.... jeg synes du er et navn man ofte ser :-)
Avatar billede eagleeye Praktikant
06. december 2002 - 23:12 #25
Ja det er et problem at SQL bruger US format når man ellers bruge DK format på de ASP sider man laver, men sådan er det....

Jeg svare mest i ASP kategorien men jeg laver også nogle Javascript.
Jeg har også lavet lidt Delphi som så er pascal, men det svar jeg stor set aldrig. Lige ledes svare jeg i nogle database kategorier hvis det kun omhandler SQL, som for det grundlæggene er ens fra database til database ;)
Avatar billede kovalt Nybegynder
06. december 2002 - 23:15 #26
kan jeg få lov at adde dig på min ICQ eller bruger du ikke
Avatar billede eagleeye Praktikant
06. december 2002 - 23:18 #27
Det bruger jeg ikke :(
Det har jeg gjort en gang, men det blev for meget og så har jeg været nød til at stoppe helt med det...
Avatar billede kovalt Nybegynder
06. december 2002 - 23:21 #28
OK.... jamen vi snakkes jo nok ved en anden gang når lokummet brænder :-) - tanx for hjælpen
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