Avatar billede jpj3 Nybegynder
31. oktober 2004 - 21:30 Der er 9 kommentarer og
1 løsning

sql med 2 kriterier

Jeg har følgende linie som jeg gerne vil have lavet om så den virker,

SELECT *
FROM Sponsor
WHERE (((Sponsor.Sponsor_gruppe)=3) AND ((Sponsor.Sponsor_afd)=1));

Den skal indgå i dette.

<%
Dim H_sponsor
Dim H_sponsor_numRows

Set H_sponsor = Server.CreateObject("ADODB.Recordset")
H_sponsor.ActiveConnection = MM_login_2005_STRING
H_sponsor.Source = "SELECT *  FROM Sponsor  WHERE (((Sponsor.Sponsor_gruppe)=1) AND ((Sponsor.Sponsor_afd)=1));"
H_sponsor.CursorType = 0
H_sponsor.CursorLocation = 2
H_sponsor.LockType = 1
H_sponsor.Open()

H_sponsor_numRows = 0
%>
Avatar billede Slettet bruger
31. oktober 2004 - 21:34 #1
SELECT *
FROM Sponsor
WHERE Sponsor.Sponsor_gruppe = 3 AND Sponsor.Sponsor_afd = 1;

Burde fungere foruden alle de paranteser.
Avatar billede ellebaek Nybegynder
31. oktober 2004 - 21:35 #2
<%
Dim H_sponsor
Dim H_sponsor_numRows

Set H_sponsor = Server.CreateObject("ADODB.Recordset")
H_sponsor.ActiveConnection = MM_login_2005_STRING
H_sponsor.Source = SELECT * FROM Sponsor WHERE (((Sponsor.Sponsor_gruppe)=3) AND ((Sponsor.Sponsor_afd)=1));
H_sponsor.CursorType = 0
H_sponsor.CursorLocation = 2
H_sponsor.LockType = 1
H_sponsor.Open()

H_sponsor_numRows = 0
%>

når du siger indgå, skal den så overskrive den anden, eller skal det være dem begge der er opfyldt hver for sig.. altså:

<%
Dim H_sponsor
Dim H_sponsor_numRows

Set H_sponsor = Server.CreateObject("ADODB.Recordset")
H_sponsor.ActiveConnection = MM_login_2005_STRING
H_sponsor.Source = SELECT * FROM Sponsor WHERE (Sponsor.Sponsor_gruppe=3 AND Sponsor.Sponsor_afd=1) OR (Sponsor.Sponsor_gruppe=3 AND Sponsor.Sponsor_afd=1);
H_sponsor.CursorType = 0
H_sponsor.CursorLocation = 2
H_sponsor.LockType = 1
H_sponsor.Open()

H_sponsor_numRows = 0
%>
Avatar billede Slettet bruger
31. oktober 2004 - 21:38 #3
Ohhhh, jeg fejllæste spørgsmålet... undskylder mange gange, var sq' for hurtig på aftrækkeren - ignorer venligst min kommentar.
Avatar billede ellebaek Nybegynder
31. oktober 2004 - 21:39 #4
i første erstatter den sql du har skrevet bare den anden sql..

I det andet eksempel hentes alle elementer fra sponsor tabellen hvor:
(gruppe er 3 og afd er 1) samt (gruppe 1 og afd er 1)
fik skrevet forkert.. det skal være:

<%
Dim H_sponsor
Dim H_sponsor_numRows

Set H_sponsor = Server.CreateObject("ADODB.Recordset")
H_sponsor.ActiveConnection = MM_login_2005_STRING
H_sponsor.Source = SELECT * FROM Sponsor WHERE (Sponsor.Sponsor_gruppe=1 AND Sponsor.Sponsor_afd=1) OR (Sponsor.Sponsor_gruppe=3 AND Sponsor.Sponsor_afd=1);
H_sponsor.CursorType = 0
H_sponsor.CursorLocation = 2
H_sponsor.LockType = 1
H_sponsor.Open()

H_sponsor_numRows = 0
%>
Avatar billede jpj3 Nybegynder
31. oktober 2004 - 21:41 #5
Jeg har prøvet med denne. Giver fejl
<%
Dim H_sponsor
Dim H_sponsor_numRows

Set H_sponsor = Server.CreateObject("ADODB.Recordset")
H_sponsor.ActiveConnection = MM_login_2005_STRING
H_sponsor.Source = "SELECT * FROM Sponsor WHERE (Sponsor.Sponsor_gruppe=3 AND Sponsor.Sponsor_afd=1);"
H_sponsor.CursorType = 0
H_sponsor.CursorLocation = 2
H_sponsor.LockType = 1
H_sponsor.Open()

H_sponsor_numRows = 0
%>

Følgende fejl
Data type mismatch in criteria expression.
h_sponsorer.asp, line 13
Avatar billede jpj3 Nybegynder
31. oktober 2004 - 21:42 #6
Samme fejl når jeg bruger denne.

"SELECT * FROM Sponsor WHERE Sponsor.Sponsor_gruppe = 3 AND Sponsor.Sponsor_afd = 1;"
Avatar billede ellebaek Nybegynder
31. oktober 2004 - 21:47 #7
hmm...

så prøv:

<%
Dim H_sponsor
Dim H_sponsor_numRows

Set H_sponsor = Server.CreateObject("ADODB.Recordset")
H_sponsor.ActiveConnection = MM_login_2005_STRING
H_sponsor.Source = "SELECT * FROM Sponsor WHERE (Sponsor.Sponsor_gruppe='3' AND Sponsor.Sponsor_afd='1');"
H_sponsor.CursorType = 0
H_sponsor.CursorLocation = 2
H_sponsor.LockType = 1
H_sponsor.Open()

H_sponsor_numRows = 0
%>
Avatar billede jpj3 Nybegynder
31. oktober 2004 - 21:52 #8
Kanon
Det var lige det der skulle til.
Takker mange gange.
Avatar billede jpj3 Nybegynder
31. oktober 2004 - 21:52 #9
Smid lige et svar.
Avatar billede ellebaek Nybegynder
31. oktober 2004 - 21:54 #10
jeg smider et svar her ;-)
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