Hej bygger ett bild galleri och när jag vill ta bort tt album så kär jag denna kod, Finns det flera användare? Dyu bör göra en kontroll att du har rätt att ta bort albummet. Det kan ju vara så att någon försöker ta bort ditt album.Får inte bild borttagningen att fungera ?
men jag får fel mess:
Error Type:
Microsoft JET Database Engine (0x80040E10)
No value given for one or more required parameters.
/Projects/FIintranet/inc_pages/photo/inc_action.asp, line 109
Men om jag skriver ut den sql så ser den OK ut ?
Vad kan vara fel ?
<code>
Case "dAlbum"
strSQL = "DELETE * FROM tbl_Album WHERE aId = " & CLng(Request.Querystring("aId"))
oRS.Open strSQL, dbc
strSQL1 = "SELECT * FROM tbl_Photo WHERE aId = " & CLng(Request.Querystring("aId"))
oRS1.Open strSQL1, dbc
Do Until oRS1.EOF
pHeadlineA = oRS1("pHeadline")
pHeadlineB = split(oRS1("pHeadline"), ".")
'Ta bort bilden från mappen Gallery
img = Server.MapPath("Gallery/") & "\" & pHeadlineA
Set fsoA = Server.CreateObject("Scripting.FileSystemObject")
Set FileA = fsoA.GetFile(img)
FileA.Delete
'Ta bort tumb från mappen Thumbnails
imgTumb = Server.MapPath("Gallery/Thumbnails/TN_") & pHeadlineB(0) & ".jpg"
Set fsoB = Server.CreateObject("Scripting.FileSystemObject")
Set FileB = fsoB.GetFile(imgTumb)
FileB.Delete
' Rad 109, denna sql ser OK ut om jag sriver ut den
strSQL2 = "DELETE * FROM tbl_Photo WHERE pHeadline = " & pHeadlineA
oRS2.Open strSQL2, dbc
oRS1.MoveNext
loop
Response.Redirect "../../main.asp?p=photo/inc_album.asp"
</code>Sv: Får inte bild borttagningen att fungera ?
Du kan ju använda delete metoden på recordsetet. Tror det kan ge lite bättre prestanda eller i alla fall mer lätt läst kod.
<code>
Const adOpenKeyset = 1
Const adLockOptimistic = 3
Set fsoA = Server.CreateObject("Scripting.FileSystemObject")
strSQL = "SELECT * FROM tbl_Album WHERE aId = " & CLng(Request.QueryString("aId"))
oRS.Open strSQL, dbc, adOpenKeyset, adLockOptimistic
If oRS.EOF Then
'Response.Write "Album finns inte"
Else
'Om det finns flera användare
'If oRS("UserID") = CLng(Session.Item("UserId")) Then
strSQL = "SELECT * FROM tbl_Photo WHERE aId = " & CLng(Request.QueryString("aId"))
oRS1.Open strSQL, dbc, adOpenKeyset, adLockOptimistic
Do Until oRS1.EOF
pHeadlineA = oRS1("pHeadline")
pHeadlineB = Split(oRS1("pHeadline"), ".")
'Ta bort bilden från mappen Gallery
img = Server.MapPath("Gallery/") & "\" & pHeadlineA
Set File = fsoA.GetFile(img)
File.Delete
'Ta bort tumb från mappen Thumbnails
imgTumb = Server.MapPath("Gallery/Thumbnails/TN_") & pHeadlineB(0) & ".jpg"
Set File = fsoA.GetFile(imgTumb)
File.Delete
oRS1.Delete
oRS1.MoveNext
Loop
oRS1.Close
oRS.Delete
oRS.MoveNext
'Else
' 'Response.Write "Album finns inte"
'End If
End If
oRS.Close
</code>
Sedan behöver du bara ett FSO och inte så många variabler som du använder.