- 題名: VC++.netのCastの仕方
- 日時: 2011/02/15 0:09:09
- ID: 28163
- この記事の返信元:
- (なし)
- この記事への返信:
- [28166] Re[1]: VC++.netのCastの仕方2011/02/15 1:23:46
- ツリーを表示
VC++.net と言ってもいろいろありますが、今回も C++/CLI のようですよね。 ■No28163に返信(Mr.Pooさんの記事) > Byte[] result = (Byte[])command.ExecuteScalar(); > > これを、 > > array<Byte>^ ret = (array<Byte>^)cmd->ExecuteReader(); > のように書くと以下のビルドエラーになってしまいました。 ExecuteScalar メソッドがいつの間にやら ExecuteReader メソッドに化けてますよ :-) System::Object^ objectValue = cmd->ExecuteScalar(); array<System::Byte>^ ret = (array<System::Byte>^)objectValue; ただ ExecuteScalar メソッドは単体の値しか返さないのでフツーのシナリオでは例外になると思いますが。
分類:[.NET]
いつもお世話になります。
npgsqlを使用しpostgreSqlのBatea項目からデータを
取得する部分を作成しています。
以下のサンプルをvc++.netで実装したいのですがキャストの仕方が分かりません。
Byte[] result = (Byte[])command.ExecuteScalar();
これを、
array<Byte>^ ret = (array<Byte>^)cmd->ExecuteReader();
のように書くと以下のビルドエラーになってしまいました。
「'Npgsql::NpgsqlDataReader ^' から 'cli::array<Type> ^' に変換できません。」
どのように記述すれば良いのでしょうか?
WinXp、VS2010、.netフレームワーク4.0になります。
よろしくお願い致します。