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)

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
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
email = email & genData(1)(nleData(1)("para_cat"))(0) & VbCr & VbCr 'category
j'ai essayer de remplacer cette ligne par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?