IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

M�moire insuffisante


Sujet :

MFC

  1. #1
    Membre confirm� Avatar de lenouvo
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    252
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 252
    Par d�faut M�moire insuffisante
    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?

  2. #2
    Membre chevronn�
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Par d�faut
    je t'avoue que je sais pas mais as-tu essay� avec un variant ?

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    CDBVariant& varValue
    GetFieldValue( index, varValue, SQL_VARCHAR);
    Sais-t-on jamais...

  3. #3
    Membre Expert
    Avatar de la drogue c'est mal
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    2 253
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 2 253
    Par d�faut
    c'est quoi le type de IDReport ?

  4. #4
    Membre confirm� Avatar de lenouvo
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    252
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 252
    Par d�faut
    le type de IDReport est nvarchar.

    Sinon matazz, j'ai test� ta m�thode :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    CDBVariant& varValue=CDBVariant( );
    //plus loin
    rs.GetFieldValue( i, varValue, SQL_VARCHAR);
    et il me met cette erreur a l'execution : "type de programme hors limites"

  5. #5
    Membre Expert
    Avatar de la drogue c'est mal
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    2 253
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 2 253
    Par d�faut
    c'est quoi nvarchar ?

  6. #6
    Membre confirm� Avatar de lenouvo
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    252
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 252
    Par d�faut
    nan en fait j'ai mal lu ta question, c'est ID qui est de type nvarchar ( type de SQL Server)
    IDReport est une CString

  7. #7
    Membre confirm� Avatar de lenouvo
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    252
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 252
    Par d�faut
    ok en fait j'ai trouv� ceci :
    "Les types de donn�es text, ntext et image ne peuvent pas �tre compar�s ou class�s, sauf lors de l'utilisation de l'op�rateur LIKE ou IS NULL."
    donc c'est normal si ca marche pas en fait.
    il a fallu que je fasse
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    ("SELECT CAST(REPORTTEXT AS CHAR) from REPORT WHERE ID='"+CString(IDReport)+"' ");
    et ca fonctionne

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. M�moire insuffisante
    Par jeropierre dans le forum Windows XP
    R�ponses: 6
    Dernier message: 22/03/2006, 20h17
  2. [CR][VB.NET] Message : m�moire insuffisante
    Par arno2000 dans le forum SDK
    R�ponses: 1
    Dernier message: 22/12/2005, 13h52
  3. M�moire insuffisante
    Par cjo dans le forum Bases de donn�es
    R�ponses: 6
    Dernier message: 07/11/2005, 12h14
  4. message d'erreur "M�moire insuffisante"
    Par jakouz dans le forum Langage
    R�ponses: 3
    Dernier message: 25/10/2005, 14h41
  5. M�moire insuffisante sous Dos
    Par Bubonik software dans le forum Langages de programmation
    R�ponses: 5
    Dernier message: 20/09/2003, 10h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo