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)
après avoir commenté une à une les lignes, celle qui semble générer l'erreur est
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
j'ai essayer de remplacer cette ligne par
Code : Sélectionner tout - Visualiser dans une fenêtre à part email = email & genData(1)(nleData(1)("para_cat"))(0) & VbCr & VbCr 'category
et l'erreur reste la même
Code : Sélectionner tout - Visualiser dans une fenêtre à part Response.Write genData(1)(1)(0)
j'avoue ne rien y comprendre... Et je m'arrache les cheveux !!!
Quelqu'un aurait-il une idée ?
Partager