/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Problem med multiple select box værdier
Fra : belial


Dato : 29-10-05 09:52

Jeg forsøger ved hjælp af en select box at få flere værdier proppet i min
access database. Det lykkes desværre ikke helt. Selve koden til select boxen
er:

<% SQL = "Select colors FROM product_colors order by colors"
Set objRS = Connect.Execute(SQL) %>

<select name="productColor" multiple size="8">
<% Do until objRS.EOF %>
<option value="<%=objRS("colors")%>"><%=objRS("colors")%></option>
<% objRS.MoveNext
Loop %>

For så at hente de enkelte værdier prøver jeg med:

strSelectedColors = Upload.Form("productColor") '(Upload.Form fordi der
skal et billed med)

arrSelectedColors = Split(strSelectedColors, ", ", -1, 1)

Hvorefter jeg forsøger at indsætte arrSelectedColors i databasen med linien

product_color = '" & arrSelectedColors & "'

men jeg får en Type Mismatch fejl. Dette fatter jeg intet af da
product_color står som tekstfelt i databasen. Nogen der har idéer om hvor
det går galt?



 
 
Jens Gyldenkærne Cla~ (29-10-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 29-10-05 10:58

belial skrev:

> men jeg får en Type Mismatch fejl. Dette fatter jeg intet af
> da product_color står som tekstfelt i databasen. Nogen der har
> idéer om hvor det går galt?

Hvordan ser din sql-sætning ud når du udskriver den?

Hvis du er i tvivl om hvordan man udskriver en sql-sætning, kan du
se en metode i artiklen her: <http://asp-faq.dk/article/?id=41>.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

belial (29-10-2005)
Kommentar
Fra : belial


Dato : 29-10-05 11:04


> Hvordan ser din sql-sætning ud når du udskriver den?

Problemet er, at det kan jeg ikke engang få lov til. Fejlen henviser til
linie 123, hvor selve sql sætningen er og ikke til linie 124 hvor jeg
eksekverer sætningen, så jeg kan ikke udskrive værdierne. Hvis jeg forsøger
at udskrive værdierne fra multiple select boxen, altså således:

strSelectedColors = Upload.Form("productColor")
arrSelectedColors = Split(strSelectedColors, ", ", -1, 1)

response.write arrSelectedColors
response.end

Får jeg en fejl der lyder således:
Type Mismatch

/admin/odbc_upload_update.asp, line 0

An unhandled data type was encountered.




Jens Gyldenkærne Cla~ (29-10-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 29-10-05 12:43

belial skrev:

>> Hvordan ser din sql-sætning ud når du udskriver den?
>
> Problemet er, at det kan jeg ikke engang få lov til.

Det tror jeg nu nok du kan.

> Fejlen henviser til linie 123, hvor selve sql sætningen er

Vis lige linje 123 igen.


> Hvis jeg forsøger at udskrive værdierne
> fra multiple select boxen, altså således:

> arrSelectedColors = Split(strSelectedColors, ", ", -1, 1)
>
> response.write arrSelectedColors

Her får du fejl fordi du prøver at udskrive et array direkte.
Gennemløb arrayet istedet - eller prøv evt. med
Cstr(arrSelectedColors) (jeg er dog ikke sikker på at det virker).
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

belial (29-10-2005)
Kommentar
Fra : belial


Dato : 29-10-05 13:15

>> Fejlen henviser til linie 123, hvor selve sql sætningen er
>
> Vis lige linje 123 igen.

Hele linien er som følger:

SQL = "UPDATE Products SET product_name = '" &
Replace(Upload.Form("ProductName"), "'", "''") & "', product_price = " &
Replace(Upload.Form("ProductPrice"), ",", ".") & ", product_category = '" &
Replace(Upload.Form("ProductCategory"), "'", "''") & "', product_color = '"
& arrSelectedColor & "', product_briefdesc = '" &
Replace(Upload.Form("productBriefDesc"), "'", "''") & "', product_fulldesc =
'" & Replace(Upload.Form("productFullDesc"), "'", "''") & "', product_url =
'" & Replace(Upload.Form("productURL"), "'", "''") & "', product_status = "
& Upload.Form("productStatus") & ", product_featured = " &
Upload.Form("frontProfile") & " WHERE product_id = " & productID

Den næste linie er:

Connect.Execute(SQL)


>> response.write arrSelectedColors
>
> Her får du fejl fordi du prøver at udskrive et array direkte.

Okay - det vidste jeg ikke. Det eksempel jeg har lavet ovenstående ud fra,
gør det nemlig på den måde (så vidt jeg da lige kan se . Se evt.
http://www.asp101.com/samples/viewasp.asp?file=multiple%5Fselection%2Easp




belial (02-11-2005)
Kommentar
Fra : belial


Dato : 02-11-05 22:03


"belial" <666@yourmother.zy> skrev i en meddelelse
news:43633854$0$78287$157c6196@dreader1.cybercity.dk...
> Jeg forsøger ved hjælp af en select box at få flere værdier proppet i min
> access database.

Jeg fandt selv ud af problemet. Det viser sig at upload.form (Der var
mulighed for billedupload med i scriptet) åbenbart ikke virker sammen med en
multiple select box. Man skal bruge request.form for at den tager alle
valgte værdier med fra boxen.



Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408518
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste