Bonjour à tous,
je travaille sur un système de newsletter en ASP et voilà un jour entier que je me heurte à cette erreur :
ADODB.Field error '80020009'
Object is no longer valid.
/newsletter/sendNle.asp, line 0
D'après ce que j'ai trouvé sur le net, il semblerai que cette erreur est souvent dûe à l'utilisation d'un Recordset sur une autre page que celui où il a été instancié en le passant par la session (http://www.aspfaq.com/show.asp?id=2421).
Le vrai problème, c'est que ce n'est pas du tout mon cas !!!
Voilà des extraits simplifié de mon code (note : tout est situé sur la même page)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
Function getGenData()
Dim monthTxt(13)
monthTxt(1) = "January"
monthTxt(2) = "February"
monthTxt(3) = "March"
monthTxt(4) = "April"
monthTxt(5) = "May"
monthTxt(6) = "June"
monthTxt(7) = "July"
monthTxt(8) = "August"
monthTxt(9) = "September"
monthTxt(10) = "October"
monthTxt(11) = "November"
monthTxt(12) = "December"
'CATEGORIES
sql = "SELECT * FROM nle_category"
sql = sql & " ORDER BY cat_num"
Dim cmdCat, resCat
Set cmdCat = Server.CreateObject("ADODB.Command")
Set resCat = Server.CreateObject("ADODB.Recordset")
cmdCat.ActiveConnection = cnx
cmdCat.CommandText = sql
resCat.Open cmdCat.Execute
Dim categories()
While NOT resCat.EOF
ReDim Preserve categories(CInt(resCat("cat_num")))
categories(resCat("cat_num")) = Array(resCat("cat_name"), resCat("cat_pic"))
resCat.MoveNext
Wend
Dim genData(2)
genData(0) = monthTxt
genData(1) = categories
getGenData = genData
End Function
Function getPlainEmail(nleData, genData)
title = "Newsletter - Issue #" & nleData(0)("nle_issue") & " - " & genData(0)(DatePart("m",nleData(0)("nle_date"))) & " " & DatePart("yyyy",nleData(0)("nle_date"))
email = ""
email = email & title & VbCr & VbCr & VbCr
'paragraphs
While NOT nleData(1).EOF
email = email & genData(1)(nleData(1)("para_cat"))(0) & VbCr & VbCr 'category
email = email & nleData(1)("para_title") & VbCr
email = email & printCch(nleData(1)("para_body")) & VbCr
email = email & "More: " & resolveLink(nleData(1)("para_link")) & VbCr & VbCr & VbCr
nleData(1).MoveNext
Wend
'unsubcription
email = email & VbCr & "To unscubscribe to the newsletter, go to ???"
getPlainEmail = email
End Function |
après avoir commenté une à une les lignes, celle qui semble générer l'erreur est
email = email & genData(1)(nleData(1)("para_cat"))(0) & VbCr & VbCr 'category
j'ai essayer de remplacer cette ligne par
Response.Write genData(1)(1)(0)
et l'erreur reste la même
j'avoue ne rien y comprendre... Et je m'arrache les cheveux !!!
Quelqu'un aurait-il une idée ?
Partager