timediaMedlem sedan maj 2001420 inlägg Kan inte förstå detta :( Får följande fel:
Microsoft JET Database Engine error '80040e14'
Syntax error (missing operator) in query expression 'id ='.
/adm/adm_ed_studieforbund.asp, line 48
open_database "D:\fysisk sökväg",false
if request("organisation") <> "" then
if request("alt") <> "" then
Set Upload = Server.CreateObject("Persits.Upload")
Upload.Save "D:\WWW\fysisk sökväg"
Set File = Upload.Files("THEFILE")
If Not File Is Nothing Then
Filen = File.ExtractFileName
End If
organisation = Upload.Form("organisation")
adress = Upload.Form("adress")
hemsida = Upload.Form("hemsida")
tillhor = Upload.Form("tillhör")
postadress = Upload.Form("postadress")
telefon = Upload.Form("telefon")
fax = Upload.Form("fax")
epost = Upload.Form("epost")
beskrivning = Upload.Form("beskrivning")
upid = Upload.Form("alt")
strSQL = "UPDATE medlemmar SET organisation = '" & organisation & "', adress = '" & adress & "', hemsida = '" & hemsida & "', tillhör = '"&tillhor&"', postadress = '"&postadress&"', telefon = '"&telefon&"', fax = '"&fax&"', epost = '"&epost&"', logotyp = '"&filen&"', beskrivning = '"&beskrivning&"' "
strSQL = strSQL & " WHERE id = " & request("alt")
Conn.Execute strSQL
end if
end if
dim id
id = request("alt")
Set myRecSet = Server.CreateObject("ADODB.Recordset")
[B]Set myRecSet = Conn.Execute("SELECT * FROM medlemmar WHERE id = "&id&" " )[/B]%>
LarsGMedlem sedan dec. 200012 464 inlägg request("alt") innehåller en tom sträng.
@ndersMedlem sedan juni 200032 969 inlägg Jag gissar på att request("alt") är tom. Det får den inte vara.
timediaMedlem sedan maj 2001420 inlägg Denna ligger i mitt formulär och den har ett värde. T.ex. 2
<input type="text" name="alt" value="<%= id %>">
@ndersMedlem sedan juni 200032 969 inlägg Skriv ut SQL-frågan istället för att exekvera den, då kommer du antagligen se att du saknar det värdet.
timediaMedlem sedan maj 2001420 inlägg Nu säger den:
Item cannot be found in the collection corresponding to the requested name or ordinal.
/adm/adm_ed_studieforbund.asp, line 62
Här är den linjen:
<input type="text" size="25" name="organisation" value="<%= Konvtext(myRecSet("organisation")) %>">
..och den skriver först ut: SELECT * FROM medlemmar WHERE id = 2
..och jag vet att organisation har ett värde och inte är ett skrivfel.
timediaMedlem sedan maj 2001420 inlägg Detta funkar:
open_database "D:\fysisk-sökväg.mdb",false
if request("organisation") <> "" then
if request("alt") <> "" then
dim organisation, adress, hemsida
organisation = Hamtafrm("organisation")
adress = Hamtafrm("adress")
hemsida = Hamtafrm("hemsida")
tillhor = Hamtafrm("tillhör")
postadress = Hamtafrm("postadress")
telefon = Hamtafrm("telefon")
fax = Hamtafrm("fax")
epost = Hamtafrm("epost")
beskrivning = Hamtafrm("beskrivning")
strSQL = "UPDATE medlemmar SET organisation = '" & organisation & "', adress = '" & adress & "', hemsida = '" & hemsida & "', tillhör = '"&tillhor&"', postadress = '"&postadress&"', telefon = '"&telefon&"', fax = '"&fax&"', epost = '"&epost&"', beskrivning = '"&beskrivning&"' "
strSQL = strSQL & " WHERE id = " & request("alt")
Conn.Execute strSQL
end if
end if
dim id
id = request("alt")
Set myRecSet = Server.CreateObject("ADODB.Recordset")
Set myRecSet = Conn.Execute("SELECT * FROM medlemmar WHERE id = "&id&" " )
..men när jag försöker lägga till en bilduppladdningskomponent uppstår problemet. Vad har jag gjort fel i nedanstående kod?
open_database "D:\fysisk-sökväg.mdb",false
if request("organisation") <> "" then
if request("alt") <> "" then
Set Upload = Server.CreateObject("Persits.Upload")
Upload.Save "D:\fysisk-sökväg"
Set File = Upload.Files("THEFILE")
If Not File Is Nothing Then
Filen = File.ExtractFileName
End If
dim organisation, adress, hemsida
organisation = Upload.Form("organisation")
adress = Upload.Form("adress")
hemsida = Upload.Form("hemsida")
tillhor = Upload.Form("tillhör")
postadress = Upload.Form("postadress")
telefon = Upload.Form("telefon")
fax = Upload.Form("fax")
epost = Upload.Form("epost")
beskrivning = Upload.Form("beskrivning")
upid = Upload.Form("alt")
strSQL = "UPDATE medlemmar SET organisation = '" & organisation & "', adress = '" & adress & "', hemsida = '" & hemsida & "', tillhör = '"&tillhor&"', postadress = '"&postadress&"', telefon = '"&telefon&"', fax = '"&fax&"', epost = '"&epost&"', logotyp = '"&filen&"', beskrivning = '"&beskrivning&"' "
strSQL = strSQL & " WHERE id = " & request("alt")
Conn.Execute strSQL
end if
end if
dim id
id = request("alt")
Set myRecSet = Server.CreateObject("ADODB.Recordset")
Set myRecSet = Conn.Execute("SELECT * FROM medlemmar WHERE id = "&id&" " )
Jesper TMedlem sedan nov. 20017 144 inlägg Det är inte så att du stänger recset:et före rad 62 då?
timediaMedlem sedan maj 2001420 inlägg Nej, myRecSet stängs på sista rad i filen...
@ndersMedlem sedan juni 200032 969 inlägg Du kan inte hämta med request från ett formulär (om du inte använder GET), samtidigt som du laddar upp en fil. Använd uppladdningskomponentens metoder för detta. (Upload.Form())
timediaMedlem sedan maj 2001420 inlägg :q
Fattar inget nu. Jag får felet Syntax error (missing operator) in query expression 'id ='. på sista raden i denna kod
pid = Upload.Form("alt")
strSQL = "UPDATE medlemmar SET organisation = '" & organisation & "', adress = '" & adress & "', hemsida = '" & hemsida & "', tillhör = '"&tillhor&"', postadress = '"&postadress&"', telefon = '"&telefon&"', fax = '"&fax&"', epost = '"&epost&"', logotyp = '"&filen&"', beskrivning = '"&beskrivning&"' "
strSQL = strSQL & " WHERE id ="&pid
Conn.Execute strSQL
end if
end if
dim id
id = request("alt")
Set myRecSet = Server.CreateObject("ADODB.Recordset")
Set myRecSet = Conn.Execute("SELECT * FROM medlemmar WHERE id = "&id&" " )
Jesper TMedlem sedan nov. 20017 144 inlägg Set myRecSet = Server.CreateObject("ADODB.Recordset")
Set myRecSet = Conn.Execute("SELECT * FROM medlemmar WHERE id = "& id)
Hur ser det ut om du skriver ut frågan?
timediaMedlem sedan maj 2001420 inlägg Har tyvärr redan provat den varianten också. När jag skriver ut så har id ett nummervärde som överensstämmer med det jag vill åt i db. **River hår (mycket tunnhårig nu) och fattar ingenting :x **
@ndersMedlem sedan juni 200032 969 inlägg
timedia skrev:
:q
Fattar inget nu. Jag får felet Syntax error (missing operator) in query expression 'id ='. på sista raden i denna kod
Du hämtar ju fortfarande med request?
timediaMedlem sedan maj 2001420 inlägg Jo, använder fortfarande request, men uppladdningskomponenten har väl gjord sitt och avslutats innan jag har kommit så långt? Vad är det jag inte fattar?
Jesper TMedlem sedan nov. 20017 144 inlägg Som @nders skrev. Du kan inte på något sätt använda vanliga request.form när du blandar in komponenten. Varje komponent brukar ha ett sätt att "lösa/kombinera" detta. Du får titta på deras hemsida.
Jesper TMedlem sedan nov. 20017 144 inlägg @ndersMedlem sedan juni 200032 969 inlägg Du har ju skapad variabeln pid på korrekt sätt några rader över i koden. Varför kan du inte använda den variabeln igen?
timediaMedlem sedan maj 2001420 inlägg Har försökt med PID också - ger precis samma fel.
@ndersMedlem sedan juni 200032 969 inlägg Ligger skapandet av variabeln pid inne i en if-sats som inte körs? Lyft ut den raden och lägg den överst i dokumentet.
red: tillägg: efter det att du instansierat upload-objektet då förstås.
Mvh