Inte direkt konstigt, eftersom du helt hoppat över att använda den "dynamiska" SQL-satsen. Försök igen
Upload
48 svar · 682 visningar · startad av aleborg · sida 3 av 3
Trådstarten, av aleborg
Jag har installerat komponenten aspSmartUpload från <http://www.aspsmart.com> Jag har en Form som ska ladda upp filer till en katalog och samtidigt lägga in text i en databas. Hur ska sidan som tar emot se ut? Och hur gör jag för att spara namnen på filerna som laddas upp i databasen? motagarsidan ser ut så här idag: <% dim Conn set rs= Server.CreateObject("ADODB.Recordset") SQL= "SELECT
Läs hela trådstarten →Provade med:
<%
dim Conn
set rs= Server.CreateObject("ADODB.Recordset")
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)
Conn.Execute("UPDATE Kateg SET [Kategrubr] = '" & mySmartUpload.Form("Kategrubr") & "', [EngKategrubr] = '" & mySmartUpload.Form("EngKategrubr") & "', [Kategbild] = " & strSQL & " WHERE [KategID] = " & Request.QueryString("KategID") & " ")
%>
Error Type:
Microsoft VBScript runtime (0x800A0005)
Invalid procedure call or argument: 'left'
/unisafe/admin/nykatchangesucc.asp, line 46
får jag när man inte laddar upp en bild.
har provat med flera olika varianter i koden
<%
dim Conn
set rs= Server.CreateObject("ADODB.Recordset")
For each file In mySmartUpload.Files
if len(file.filename)>0 then strSQL=strSQL & ",[" & file.name & "]='" & file.filename & "'"
next
Conn.Execute("UPDATE Kateg SET [Kategrubr] = '" & mySmartUpload.Form("Kategrubr") & "', [EngKategrubr] = '" & mySmartUpload.Form("EngKategrubr") & "'," & strSQL & " WHERE [KategID] = " & Request.QueryString("KategID") & " ")
%>
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel i UPDATE-uttryck.
/unisafe/admin/nykatchangesucc.asp, line 46
Det funkar bra när man inte har med några andra fält i db'n
t ex
<%
dim Conn
set rs= Server.CreateObject("ADODB.Recordset")
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)
conn.Execute ("UPDATE Produkter SET " & strSQL & " Where ID =" & Request.QueryString("ID"))
%>
Men så fort man lägger till andra fält i databasen som inte har med uppladdningen att göra så blir det fel.
Jag gjorde en förändring till i for-loopen. Kolla in den, för den verkar saknas.
Jag kopierade din kod, det var då jag fick fel!
<%
dim Conn
set rs= Server.CreateObject("ADODB.Recordset")
For each file In mySmartUpload.Files
if len(file.filename)>0 then strSQL=strSQL & ",[" & file.name & "]='" & file.filename & "'"
next
Conn.Execute("UPDATE Kateg SET [Kategrubr] = '" & mySmartUpload.Form("Kategrubr") & "', [EngKategrubr] = '" & mySmartUpload.Form("EngKategrubr") & "'," & strSQL & " WHERE [KategID] = " & Request.QueryString("KategID") & " ")
%>
Sorry, ett litet komma låg kvar i SQL-satsen. Ta alltid för vana att skriva ut SQL-satsen när den strular.
.....Form("EngKategrubr") & "'" & strSQL
Nu funkar allt
Tack!