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 :

[VC6][URGENT] SQLRowCount retourne un rowcount de -1


Sujet :

MFC

  1. #1
    Vow
    Vow est d�connect�
    Membre �prouv� Avatar de Vow
    Inscrit en
    Janvier 2003
    Messages
    1 259
    D�tails du profil
    Informations personnelles :
    �ge : 49

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 259
    Par d�faut [VC6][URGENT] SQLRowCount retourne un rowcount de -1
    Bonjour,

    Je cherche depuis hier pourquoi ma variable nLignes retourne -1 � chaque fois que je fais une requ�te SELECT (m�me toute simple) via la fonction SQLExecDirect :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    iErrCode = SQLRowCount(hStmt, &nLignes);
    Certains sites disent que �a vient du driver ODBC.
    Je fais mes tests sur une base SQL Server. Hors je pense pas que le driver de base {SQL Server} (sur Windows 2000 Pro) soit d�pourvu de cette fonctionnalit�.

    Vous avez une id�e ?
    Merci

  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
    c'est peut-�tre une remarque con mais tu as essay� ta requ�te dans l'interface de SQL server et est-ce qu'elle marche ?
    Si oui, est-ce que ton login � les droits de faire des SELECT, UPDATE sur cette base ?

  3. #3
    Vow
    Vow est d�connect�
    Membre �prouv� Avatar de Vow
    Inscrit en
    Janvier 2003
    Messages
    1 259
    D�tails du profil
    Informations personnelles :
    �ge : 49

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 259
    Par d�faut
    Oui pour les deux

  4. #4
    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
    ben dans la MSDN ils disent �a :
    RowCountPtr

    Points to a buffer in which to return a row count. For UPDATE, INSERT, and DELETE statements, for the SQL_ADD, SQL_UPDATE_BY_BOOKMARK, and SQL_DELETE_BY_BOOKMARK operations in SQLBulkOperations, and for the SQL_UPDATE or SQL_DELETE operations in SQLSetPos, the value returned in *RowCountPtr is the number of rows affected by the request or �1 if the number of affected rows is not available.
    ...donc effectivment je pense que t'on hypoth�se est la bonne.
    J'imagine que t'as essay� de chercher un update du Driver, et du system.

    Si c'est le cas, je t'avoue que je vois pas...

  5. #5
    Vow
    Vow est d�connect�
    Membre �prouv� Avatar de Vow
    Inscrit en
    Janvier 2003
    Messages
    1 259
    D�tails du profil
    Informations personnelles :
    �ge : 49

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 259
    Par d�faut
    J'avoue ne pas avoir pens� � regarder un update du driver. Je regarderai �a � mon retour.
    Merci encore.
    @++

  6. #6
    Vow
    Vow est d�connect�
    Membre �prouv� Avatar de Vow
    Inscrit en
    Janvier 2003
    Messages
    1 259
    D�tails du profil
    Informations personnelles :
    �ge : 49

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 259
    Par d�faut
    Bon, un peu de retard mais voil� le r�sultat : la mise � jour ne change rien, j'ai toujours -1 ...

  7. #7
    mat.M
    Invit�(e)
    Par d�faut
    Il faut tester iErr , code retour , et non pas le nombre de lignes nLignes !

    Si nLignes vaut -1 c'est qu'il ya un probl�me cela va de soit
    Or toujours selon le MSDN il ya diff�rent codes d'erreur :

    Returns

    SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR, or SQL_INVALID_HANDLE.

    Diagnostics

    When SQLRowCount returns SQL_ERROR or SQL_SUCCESS_WITH_INFO, an associated SQLSTATE value can be obtained by calling SQLGetDiagRec with a HandleType of SQL_HANDLE_STMT and a Handle of StatementHandle. The following table lists the SQLSTATE values commonly returned by SQLRowCount and explains each one in the context of this function; the notation "(DM)" precedes the descriptions of SQLSTATEs returned by the Driver Manager. The return code associated with each SQLSTATE value is SQL_ERROR, unless noted otherwise.

    SQLSTATE Error Description
    01000 General warning Driver-specific informational message. (Function returns SQL_SUCCESS_WITH_INFO.)
    HY000 General error An error occurred for which there was no specific SQLSTATE and for which no implementation-specific SQLSTATE was defined. The error message returned by SQLGetDiagRec in the *MessageText buffer describes the error and its cause.
    HY001 Memory allocation error The driver was unable to allocate memory required to support execution or completion of the function.
    HY010 Function sequence error (DM) The function was called prior to calling SQLExecute, SQLExecDirect, SQLBulkOperations, or SQLSetPos for the StatementHandle.
    (DM) An asynchronously executing function was called for the StatementHandle and was still executing when this function was called.

    (DM) SQLExecute, SQLExecDirect, SQLBulkOperations, or SQLSetPos was called for the StatementHandle and returned SQL_NEED_DATA. This function was called before data was sent for all data-at-execution parameters or columns.

    HY013 Memory management error The function call could not be processed because the underlying memory objects could not be accessed, possibly because of low memory conditions.
    HYT01 Connection timeout expired The connection timeout period expired before the data source responded to the request. The connection timeout period is set through SQLSetConnectAttr, SQL_ATTR_CONNECTION_TIMEOUT.
    IM001 Driver does not support this function (DM) The driver associated with the StatementHandle does not support the function.

    Soit c'est la version de MDAC qui est � mettre en cause soit c'est un probl�me SQL -SERVER

    Sinon chercher sur le disque d'installation de VC++ cat�gories SAMPLES il ya des exemples d'utilisation de SQLRowCount et des API ODBC

  8. #8
    Vow
    Vow est d�connect�
    Membre �prouv� Avatar de Vow
    Inscrit en
    Janvier 2003
    Messages
    1 259
    D�tails du profil
    Informations personnelles :
    �ge : 49

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 259
    Par d�faut
    Je ne suis pas d�bile quand m�me
    iErrCode est �gal � SQL_SUCCESS (soit la valeur 0).

    Quant � la mise � jour MDAC, �a n'a rien chang�

  9. #9
    mat.M
    Invit�(e)
    Par d�faut
    Citation Envoy� par Vow
    Je ne suis pas d�bile quand m�me
    iErrCode est �gal � SQL_SUCCESS (soit la valeur 0).

    Quant � la mise � jour MDAC, �a n'a rien chang�
    alors � ce moment -l� examiner les exemples du MSDN dont j'ai parl�

Discussions similaires

  1. Retourner un talbeau
    Par taupin dans le forum C
    R�ponses: 7
    Dernier message: 19/01/2003, 04h22
  2. [Manip de fichiers] Fonction retournant des infos
    Par sans_atouts dans le forum C
    R�ponses: 3
    Dernier message: 24/07/2002, 14h16
  3. URGENT: retour de string
    Par Pinggui dans le forum CORBA
    R�ponses: 4
    Dernier message: 15/07/2002, 09h47
  4. R�ponses: 5
    Dernier message: 12/06/2002, 15h12
  5. URGENT : Zoom et changement de rep�re
    Par poca10 dans le forum MFC
    R�ponses: 5
    Dernier message: 28/05/2002, 13h32

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