2016-05-10 2 views
1

C++でSqlClientを使用してSQL接続をセットアップしようとしています。管理されていないクラスのメンバーはハンドルにはなれません

私は、次のエラー

エラーは次の行SqlConnection connection=gcnew SqlConnection();

で発生

#using <mscorlib.dll> 
    #using <System.dll> 
    #using <System.Data.dll> 
    #using <System.Xml.dll> 
    using namespace std; 

    using namespace System; 
    using namespace System::Data; 
    using namespace System::Data::SqlClient; 

    class CConnection { 

    public: 
    SqlConnection ^connection=gcnew SqlConnection(); 

    CConnection(String^,String^); 

    void close(); 
    void connect(String^,String^); 
    bool isConnected(); 
    SqlConnection getCon(); 

    ~CConnection(); 

}; 

「非マネージクラスのメンバーは、ハンドルすることはできません」と遭遇してきました

アイデア?

答えて

0

classキーワードのみを使用して、非マージンクラスとしてCConnectionを宣言しました。ただし、CConnectionはマネージ機能を大量に使用しています。メンバはSqlConnectionです。このクラスはマネージクラスであり、クラス内のポインタ(*)ではなくハンドル(^)を使用しています。 CConnectionをの代わりにref classを使用して管理対象クラスとして宣言したい場合があります。

関連する問題