Avatar billede pfp Nybegynder
23. oktober 2004 - 18:46 Der er 6 kommentarer og
1 løsning

Arguments are of the wrong type, are out of acceptable range

Jeg er idag stødt på en fejltype jeg ikke tidligere har stiftet bekendtskab med:
"Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another."

Jeg har en database med 2 tabeller med flg. opbygning

TABEL: torp_single_colors
- ColorID (autonr.)
- Name
- Hex

TABEL: torp_double_colors
- ColorID (autonr.)
- Name
- CID
- CID2

Jeg skal så lave et lille system med nogle forskellige farver. single_colors tabellen indeholder f.eks. farverne:
1. Rød
2. Blå
3. Grøn

I systemet skal man også kunne ”arbejde” med dobbeltfarver. Det er en farve sammensat af 2 single_colors. Farven rød/blå ser derfor sådan ud i tabellen double_colors:
- ColorID (autonr.)
- Name (”Rød/blå”)
- CID (1 = rød)
- CID2 (2 = blå)

Nu prøver jeg så at trække en liste over tilgængelig farver ud. Først alle enkeltfarverne. Derefter alle dobbeltfarverne.

Og det i forbindelse med det jeg støder på nævnte fejl. Nå ikke mere forklaring, men hermed den kode jeg har forsøgt mig med:

<!--#include file="database.asp"-->
<!--#include file="methods.asp"-->
<%
SQL = "Select * FROM torp_single_colors ORDER BY Name"
Set rsSingle = Conn.Execute(SQL)

SQL = "Select * FROM torp_double_colors ORDER BY Name"
Set rsDouble = Conn.Execute(SQL)
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Tilf&oslash;j produkt</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="post" action="addColor.asp?mode=add">
  <p>Varenummer:<br>
    <input name="itemID" type="text" id="itemID">
</p>
  <p>Titel:<br>
    <input name="title" type="text" id="title">
  </p>
  <p>Beskrivelse:<br>
    <textarea name="description" cols="75" rows="5" id="description"></textarea>
</p>
  <p>Pris:<br>
    <input name="price" type="text" id="price">
</p>
  <p>Tilg&aelig;ngelig farver</p>
<%
If rsSingle.eof or rsSingle.bof then
    Response.Write "Ingen enkeltfarver"
Else
    Response.Write "<p>Enkelt farver:</p>"
    Do While Not rsSingle.eof
        Response.Write "<img alt='' src='colors/s_" & rsSingle("ColorID") & ".gif' width='10px' height='10px'>&nbsp;"
        Response.Write "<input type='checkbox' name='s_" & rsSingle("ColorID") & ".gif' value='s_" & rsSingle("ColorID") & "'>&nbsp;"
        Response.Write rsSingle("Name") & "<br>"
    rsSingle.movenext
    Loop
End if
%>

<%
If rsDouble.eof or rsDouble.bof then
    Response.Write "Ingen dobbeltfarver."
Else
    Response.Write "<p>Dobbeltfarver:</p>"
    Do While Not rsDouble.eof
        SQL = "Select * FROM torp_single_colors WHERE ColorID = " & rsDouble("CID")   
        Set rs = Conn.Exeucte(SQL)
       
        SQL = "Select * FROM torp_single_colors WHERE ColorID = " & rsDouble("CID2")
        Set rs2 = Conn.Exeucte(SQL)
       
        first_Color = rs("ColorID")
        second_Color = rs2("ColorID")
       
        Response.Write "<img alt='' src='colors/s_" & first_Color & ".gif' width='10px' height='10px'>"
        Response.Write "<img alt='' src='colors/s_" & second_Color & ".gif' width='10px' height='10px'>&nbsp;"
        Response.Write "<input type='checkbox' name='d_" & rsDouble("ColorID") & ".gif' value='d_" & rsDouble("ColorID") & "'>&nbsp;"
        Response.Write rsDouble("Name") & "<br>"
    rsDouble.movenext
    Loop
End if
%>

  <p>
    <input type="submit" name="Submit" value="Gem">
</p>
</form>
</body>
</html>

På forhånd tak for enhver hjælp.

/pfp
Avatar billede erikjacobsen Ekspert
23. oktober 2004 - 19:40 #1
Ca. hvor sker det?

Du kan nok med fordel lukke din recordsets efter brug, og overveje
om der ikke er så få enkeltfarver, at du kan hente dem ind i et
array, og spare på databasen ved dobbeltfarverne.
Avatar billede pfp Nybegynder
23. oktober 2004 - 19:42 #2
God ide med arrayet det vil jeg lige gøre.

Den falder til jorden her:
SQL = "Select * FROM torp_single_colors WHERE ColorID = " & rsDouble("CID")   
Set rs = Conn.Exeucte(SQL)

Den fejler i Conn.Execute linien. Jeg har udskrevet SQL variablen og den ser ud som den skal..

Forstår dælme ikke hvad der er galt.
Avatar billede erikjacobsen Ekspert
23. oktober 2004 - 20:11 #3
Også efter du har lukket dine recordsets?
Avatar billede pfp Nybegynder
23. oktober 2004 - 20:57 #4
Ja.
Avatar billede pfp Nybegynder
23. oktober 2004 - 22:22 #5
Jeg ved ikke hvorfor, men nu virker det. Jeg blev så træt af det at jeg skrev koden forfra og nu virker det altså. Bruger bl.a. din ide med array's nu.

Sig til hvis nogen er interesseret i at se det.

erik -> Smid et svar så du kan få point (hvis du gør i den slags for tiden)

/pfp
Avatar billede erikjacobsen Ekspert
23. oktober 2004 - 22:26 #6
Det gør jeg ikke. Du svarer blot, og accepterer eget svar.
Avatar billede pfp Nybegynder
24. oktober 2004 - 00:01 #7
Okay. Men et tak skal du i al fald ha :)
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