Avatar billede JenZen Novice
15. september 2005 - 20:09 Der er 18 kommentarer og
2 løsninger

sql > asp script

HJÆLP ! ! !

Jeg bruger flg. query i min SQL, nu skal jeg have overført til noget jeg bruge i ASP sammen med en Access Database.

Query:
SELECT FROM Kunder
WHERE    SELSKAB = 'Sonofon'
AND      TYPE = 'Privat'
ORDER BY Dato


ASP Kode:
<!--#include virtual="/Includes/Connection.asp"-->

<head>
<meta http-equiv="Content-Language" content="da">
</head>
  <table border="0" id="table1">
    <tr>
        <td width="100"><b><font face="Verdana,Arial" size="1">Dato</font></b></td>
        <td width="100"><b><font face="Verdana,Arial" size="1">Butik</font></b></td>
        <td width="100"><b><font face="Verdana,Arial" size="1">Selskab</font></b></td>
        <td width="100"><b><font face="Verdana,Arial" size="1">Type</font></b></td>
        <td width="150"><b><font face="Verdana,Arial" size="1">Navn</font></b></td>
        <td width="100"><b><font face="Verdana,Arial" size="1">GSMNummer</font></b></td>
    </tr>
    </table>
        <%SQL = "SELECT * FROM Kunder ORDER By Dato DESC;"
  Set RS = Server.CreateObject("ADODB.Recordset")
  RS.Open SQL, DB, 1, 1
  do while not RS.EOF
  %>
<%
  Response.Buffer = True
  'On Error Resume Next
%>
  <table border="0" id="table1">
    <tr>
        <td width="100"><font face="Verdana,Arial" size="1"><%=RS("Dato")%></font></td>
        <td width="100"><font face="Verdana,Arial" size="1"><%=RS("Butik")%></font></td>
        <td width="100"><font face="Verdana,Arial" size="1"><%=RS("Selskab")%></font></td>
        <td width="100"><font face="Verdana,Arial" size="1"><%=RS("Type")%></font></td>
        <td width="150"><font face="Verdana,Arial" size="1"><%=RS("Navn")%></font></td>
        <td width="100"><font face="Verdana,Arial" size="1"><%=RS("MobilNummer")%></font></td>
    </tr>
</table>
<font face="Verdana,Arial" size="1">
</font>
<%RS.MoveNext
Loop %></table></body></html>
Avatar billede nielle Nybegynder
15. september 2005 - 20:13 #1
Hvad består problemet i?
Avatar billede softspot Forsker
15. september 2005 - 20:17 #2
Hvad er det du vil opnå?

Du kan i princippet bare bruge den (næsten) som du har skrevet og så bare flette parametrene ind (hvis det er formålet). Således

<!--#include virtual="/Includes/Connection.asp"-->
<%
strSelskab = "sonofon"
strType = "privat"
%>
<head>
<meta http-equiv="Content-Language" content="da">
</head>
  <table border="0" id="table1">
    <tr>
        <td width="100"><b><font face="Verdana,Arial" size="1">Dato</font></b></td>
        <td width="100"><b><font face="Verdana,Arial" size="1">Butik</font></b></td>
        <td width="100"><b><font face="Verdana,Arial" size="1">Selskab</font></b></td>
        <td width="100"><b><font face="Verdana,Arial" size="1">Type</font></b></td>
        <td width="150"><b><font face="Verdana,Arial" size="1">Navn</font></b></td>
        <td width="100"><b><font face="Verdana,Arial" size="1">GSMNummer</font></b></td>
    </tr>
    </table>
        <%SQL = "SELECT * FROM Kunder WHERE SELSKAB = '" & strSelskab & "' AND [TYPE] = '" & strType & "' ORDER By Dato DESC;"
  Set RS = Server.CreateObject("ADODB.Recordset")
  RS.Open SQL, DB, 1, 1
  do while not RS.EOF
  %>
<%
  Response.Buffer = True
  'On Error Resume Next
%>
  <table border="0" id="table1">
    <tr>
        <td width="100"><font face="Verdana,Arial" size="1"><%=RS("Dato")%></font></td>
        <td width="100"><font face="Verdana,Arial" size="1"><%=RS("Butik")%></font></td>
        <td width="100"><font face="Verdana,Arial" size="1"><%=RS("Selskab")%></font></td>
        <td width="100"><font face="Verdana,Arial" size="1"><%=RS("Type")%></font></td>
        <td width="150"><font face="Verdana,Arial" size="1"><%=RS("Navn")%></font></td>
        <td width="100"><font face="Verdana,Arial" size="1"><%=RS("MobilNummer")%></font></td>
    </tr>
</table>
<font face="Verdana,Arial" size="1">
</font>
<%RS.MoveNext
Loop %></table></body></html>
Avatar billede JenZen Novice
15. september 2005 - 20:17 #3
Jeg ved ikke hvordan jeg skal lave queryen om.

F.eks. for at få bare lidt frem fra min database i et asp script bruger jeg:
<%SQL = "SELECT * FROM Kunder ORDER By Dato DESC;"
  Set RS = Server.CreateObject("ADODB.Recordset")
  RS.Open SQL, DB, 1, 1
  do while not RS.EOF
  %>

Men det jeg har brug for den gør er flg.:
SELECT FROM Kunder
WHERE    SELSKAB = 'Sonofon'
AND      TYPE = 'Privat'
ORDER BY Dato
Avatar billede JenZen Novice
15. september 2005 - 20:20 #4
Det vil den ikke acceptere, der kommer intet frem
Avatar billede nielle Nybegynder
15. september 2005 - 20:22 #5
Der et intet i vejen med din SQL - den er som den skal være. Har du kigget efter om du har data i din tabel?
Avatar billede JenZen Novice
15. september 2005 - 20:25 #6
Sorry så ikke "<%
strSelskab = "sonofon"
strType = "privat"
%>"

Pinligt.

Jeg har en anden ting som du VIRKELIG GERNE må hjælpe mig lidt på vej med bruge i database forspørgsel flg.:

DateAdd("m";-6;Date())

Hvordan kan jeg få denne "sorterings" funktion frem i min SQL ?
Avatar billede nielle Nybegynder
15. september 2005 - 20:30 #7
Ikke helt forstået. Hvis du gerne vil trække 6 måneder fra alle dine datoer i din tabel, så ændre det alligevel ikke noget på den rækkefølge de kommer ud i.
Avatar billede JenZen Novice
15. september 2005 - 20:31 #8
Nej det er heller ikke sorteringen, den skal kun vise PRÆCIS de data der er 6mdr gammel udfra d.d. og den dato de er opført med i databasen.
Avatar billede nielle Nybegynder
15. september 2005 - 20:34 #9
F.eks. sådan:

SQL = "SELECT * FROM Kunder WHERE SELSKAB = '" & strSelskab & "' AND [TYPE] = '" & strType & "' AND Dato=DateAdd('m';-6;Date())"
Avatar billede JenZen Novice
15. september 2005 - 20:40 #10
Ja, vil jeg faktisk tro, men så skriver den:

Microsoft OLE DB Provider for ODBC Drivers error '80040e21'

ODBC driver does not support the requested properties.

/1.asp, line 21


Hele Koden:

<!--#include virtual="/Includes/Connection.asp"-->
<%
strSelskab = "sonofon"
strType = "privat"
%>
<head>
<meta http-equiv="Content-Language" content="da">
</head>
  <table border="0" id="table1">
    <tr>
        <td width="100"><b><font face="Verdana,Arial" size="1">Dato</font></b></td>
        <td width="100"><b><font face="Verdana,Arial" size="1">Butik</font></b></td>
        <td width="100"><b><font face="Verdana,Arial" size="1">Selskab</font></b></td>
        <td width="100"><b><font face="Verdana,Arial" size="1">Type</font></b></td>
        <td width="150"><b><font face="Verdana,Arial" size="1">Navn</font></b></td>
        <td width="100"><b><font face="Verdana,Arial" size="1">GSMNummer</font></b></td>
    </tr>
    </table>
        <%SQL = "SELECT * FROM Kunder WHERE SELSKAB = '" & strSelskab & "' AND [TYPE] = '" & strType & "' AND Dato=DateAdd('m';-6;Date())"
  Set RS = Server.CreateObject("ADODB.Recordset")
  RS.Open SQL, DB, 1, 1
  do while not RS.EOF
  %>
<%
  Response.Buffer = True
  'On Error Resume Next
%>
  <table border="0" id="table1">
    <tr>
        <td width="100"><font face="Verdana,Arial" size="1"><%=RS("Dato")%></font></td>
        <td width="100"><font face="Verdana,Arial" size="1"><%=RS("Butik")%></font></td>
        <td width="100"><font face="Verdana,Arial" size="1"><%=RS("Selskab")%></font></td>
        <td width="100"><font face="Verdana,Arial" size="1"><%=RS("Type")%></font></td>
        <td width="150"><font face="Verdana,Arial" size="1"><%=RS("Navn")%></font></td>
        <td width="100"><font face="Verdana,Arial" size="1"><%=RS("MobilNummer")%></font></td>
    </tr>
</table>
<font face="Verdana,Arial" size="1">
</font>
<%RS.MoveNext
Loop %></table></body></html>
Avatar billede nielle Nybegynder
15. september 2005 - 20:44 #11
... og den giver ingen fejl med den originale SQL?

SQL = "SELECT * FROM Kunder WHERE SELSKAB = '" & strSelskab & "' AND [TYPE] = '" & strType & "' ORDER By Dato DESC;"
Avatar billede JenZen Novice
15. september 2005 - 20:45 #12
Nej den virker perfekt
Avatar billede nielle Nybegynder
15. september 2005 - 20:46 #13
Hvad så med denne:

SQL = "SELECT * FROM Kunder WHERE SELSKAB = '" & strSelskab & "' AND [TYPE] = '" & strType & "' AND Dato=DateAdd('m',-6,Date())"

- hvor der er brugt kommaer i DateAdd i stedet for semikoloner?
Avatar billede softspot Forsker
15. september 2005 - 20:47 #14
Jeg vil tro det er fordi formatet af DateAdd er

DateAdd("m", -1, Date())


altså med komma i stedet for semikolon...
Avatar billede nielle Nybegynder
15. september 2005 - 20:48 #15
Vi er vist enige der :^)
Avatar billede softspot Forsker
15. september 2005 - 20:51 #16
Det tør da svagt antydes :D
Avatar billede JenZen Novice
15. september 2005 - 20:53 #17
You're Gods, kan i ikke begge ligge det ind som et svar så i kan få nogle point.

You Saved my day.
Avatar billede softspot Forsker
15. september 2005 - 20:55 #18
Så var det jo alligevel godt man stod op her til morgen :)

Velbekomme...
Avatar billede nielle Nybegynder
15. september 2005 - 20:56 #19
Altid rart med lidt overvældende ros - det gør underværker for egoet. :^)

... og et svar :^)
Avatar billede softspot Forsker
15. september 2005 - 22:15 #20
Tak for point :)
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