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)
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'