---
title: "Problem med kommatecken"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/147206-problem-med-kommatecken"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "SteveP"
published: "2006-05-22T16:12:39.000Z"
updated: "2006-05-22T16:37:28.000Z"
replies: 4
views: 263
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/147206-problem-med-kommatecken"
---

# Problem med kommatecken

## #1 — SteveP, 2006-05-22T16:12Z

Hej,

Jag har ett problem med ett extra kommatecken som dyker upp om ett av fälten som skall uppdateras lämnas tomt. Det är alltså ett \<input type="file"\> fält. 

Om jag fyller i alla fälten och väljer en bild så fungerar det utmärkt!
SQL satsen ser då ut så här när den skrivs ut:

```
UPDATE tblhotel SET Country = '{39FDD7C7-0E2A-44A1-B83A-E3B36371236C}', Hotel = 'Bangkok Hilton',[HotelPicture]='fin.jpg' Where ID ='{572688F5-7AE2-4596-940F-ABA45AEE9338}'
```

Men om jag lämnar bildfältet tomt, alltså struntar i att välja någon bild eftersom jag vill ha kvar den bilden som redan finns så blir SQL satsen så här:

```
UPDATE tblhotel SET Country = '{39FDD7C7-0E2A-44A1-B83A-E3B36371236C}', Hotel = 'Bangkok Hilton', Where ID ='{572688F5-7AE2-4596-940F-ABA45AEE9338}'
```

Som ni ser så smyger det in ett kommatecken före "Where ID".

Här är min kod

```
For each file In mySmartUpload.Files
if len(file.filename)>0 then strSQL=strSQL & "[" & file.name & "]='" & file.filename & "',"
next
strSQL=left(strSQL,len(strSQL)-1)

SQL = "UPDATE tblhotel SET Country = '" & mySmartUpload.Form("SubCountry") & "', Hotel = '" & mySmartUpload.Form("txtHotel") & "'," & strSQL & " Where ID ='" & Request.QueryString("ID") & "'"

Conn.Execute(SQL)
```

Permalänk: https://www.webforum.nu/p/147206

## #2 — J.N., 2006-05-22T16:24Z

HEJ!

Ja, så vill du ju ha det, det står ju ett kommatecken före din strSQL, \[," & strSQL & "\]. ;)

Lätt missa, enkelt lösa genom att flytta upp kommat där variabeln skapas!
strSQL=strSQL & "**,** \[" & file.name & "\]='" & file.filename & "',"

Permalänk: https://www.webforum.nu/p/1819527

## #3 — SteveP, 2006-05-22T16:31Z

Ja du har rätt! Men om jag flyttar upp kommatecknet på detta vis:

```
if len(file.filename)>0 then strSQL=strSQL & ",[" & file.name & "]='" & file.filename & "',"
next
strSQL=left(strSQL,len(strSQL)-1)

SQL = "UPDATE tblhotel SET Country = '" & mySmartUpload.Form("SubCountry") & "', Hotel = '" & mySmartUpload.Form("txtHotel") & "'" & strSQL & " Where ID ='" & Request.QueryString("ID") & "'"
```

Så blir SQL satsen helt korrekt i båda fallen men när jag lämnar bildfältet tomt så får jag följande felmeddelande: Invalid procedure call or argument: 'left'

Permalänk: https://www.webforum.nu/p/1819528

## #4 — J.N., 2006-05-22T16:34Z

Okej, vad koden gör, samlar du ihop en sql-sträng med olika filnamn i?
Och de existerar alltså inte alltid?

I vilket fall, kolla längden på strängen, om den är större än 0, kör left-koden.

<http://www.devguru.com/Technologies/vbscript/quickref/len.html>

Permalänk: https://www.webforum.nu/p/1819531

## #5 — SteveP, 2006-05-22T16:37Z

Bra idé!

Funkade utmärkt.

```
If Len(strSQL) > 1 then
strSQL=left(strSQL,len(strSQL)-1)
end if
```

Tack J.N!

Permalänk: https://www.webforum.nu/p/1819536

---

Tråden på webben: https://www.webforum.nu/amne/asp/147206-problem-med-kommatecken
