En fait, je viens de me rendre compte que mon appel de la fonction n'�tait pas bon :
J'appelle maintenant cette fonction avec :
CRandom::GetDefaultConnect();
(Random �tant le nom de ma table dans la base de donn�e, dans lequel je voudrais stocker des nombres al�atoires)
J'ai maintenant :
1>c:\documents and settings\sylvain\bureau\pair\projet\test\test\testdlg.cpp(99) : error C2352: 'CRandom::GetDefaultConnect' : appel non conforme d'une fonction membre non static
Je ne sais pas vraiment comment utiliser des classes (je d�bute, et pour le moment, je me contente d'utiliser des fonctions pr�sentes dans le fichier dans lequel je code).
Je vous laisse le code g�n�r� automatiquement :
Random.h :
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
| // Random.h : déclaration de CRandom
#pragma once
// code généré activé jeudi 15 mai 2008, 16:47
class CRandom : public CRecordset
{
public:
CRandom(CDatabase* pDatabase = NULL);
DECLARE_DYNAMIC(CRandom)
// Données Champ/Paramètre
// Les types de chaînes ci-dessous (s'ils existent) reflètent le type de données réel du
// champ de la base de données - CStringA pour les types de données ANSI et CStringW pour les types de données
// Unicode. Cela empêche le pilote ODBC d'exécuter des conversions
// superflues éventuelles. Si vous le souhaitez, vous pouvez remplacer ces membres
// par des types CString et le pilote ODBC effectuera toutes les conversions nécessaires.
// (Remarque : Vous devez utiliser une la version 3.5 du pilote ODBC ou une version ultérieure
// pour prendre en charge à la fois Unicode et ces conversions.)
// Substitutions
// L'Assistant a généré des substitutions de fonctions virtuelles
public:
virtual CString GetDefaultConnect(); // Chaîne de connexion par défaut
virtual CString GetDefaultSQL(); // SQL par défaut pour Recordset
virtual void DoFieldExchange(CFieldExchange* pFX); // Prise en charge RFX
// Implémentation
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
}; |
Random.cpp :
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
| // Random.h : implémentation de la classe CRandom
// Implémentation CRandom
// code généré activé jeudi 15 mai 2008, 16:47
#include "stdafx.h"
#include "Random.h"
/*** Lignes ajoutées après avoir observé la structure du même fichier dans un projet MFC avec une BDD déclarée dés le départ ***/
#include "test.h" //Nom de mon projet
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
/************************************************************************************************************/
IMPLEMENT_DYNAMIC(CRandom, CRecordset)
CRandom::CRandom(CDatabase* pdb)
: CRecordset(pdb)
{
m_nFields = 0;
m_nDefaultType = dynaset;
}
CString CRandom::GetDefaultConnect()
{
return _T("DSN=MS Access Database;DBQ=C:\\Documents and Settings\\Sylvain\\Bureau\\PAIR\\Projet\\test\\test.mdb;DefaultDir=C:\\Documents and Settings\\Sylvain\\Bureau\\PAIR\\Projet\\test;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;");
}
CString CRandom::GetDefaultSQL()
{
return _T("");
}
void CRandom::DoFieldExchange(CFieldExchange* pFX)
{
pFX->SetFieldType(CFieldExchange::outputColumn);
// Des macros telles que RFX_Text() et RFX_Int() dépendent du
// type de la variable membre, et non du type de champ dans la base de données.
// ODBC tente de convertir automatiquement la valeur de la colonne afin qu'elle soit du type demandé
}
/////////////////////////////////////////////////////////////////////////////
// CRandom diagnostics
#ifdef _DEBUG
void CRandom::AssertValid() const
{
CRecordset::AssertValid();
}
void CRandom::Dump(CDumpContext& dc) const
{
CRecordset::Dump(dc);
}
#endif //_DEBUG |
Merci d'avance
Partager