bonjour,
voilà, je recupere un champ de type ntext d'une base sql server de cette façon avec une requete de selection:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
CString varValue;
		CString Requete=CString("SELECT REPORTTEXT from REPORT WHERE ID='"+CString(IDReport)+"' "); 
 
		CRecordset rs(&db); 
		rs.Open(CRecordset::forwardOnly, Requete);
 
		int i=0;
		while( !rs.IsEOF( ) )
		{	
			rs.GetFieldValue(i,varValue);
		}	
		rs.Close( );
je ne fais pas de boucle car je ne peut recuperer qu'une seule ligne et qu'un seul champ. et donc lorsque j'execute ceci, une boite de dialogue " Memoire insuffisante" s'affiche lors de la ligne GetFieldValue.
pourtant, CString peut contenir jusqu'à 2 147 483 647 caractères et ntext représente une chaîne de caractères UNICODE-UCS-2 d'une longueur variable d'un maximum aussi de 2 147 483 647 caractères. donc pourquoi cette erreur?