• ベストアンサー

VC++でSELECT文の実行結果を表示

開発環境は OS XPのHomeEditon Visual C++ ExpressEdition SQL Server 2005 Express です。 よろしくお願いします。 #include "stdafx.h" #include <stdio.h> #include <windows.h> #include <string> using namespace System; using namespace System::Data; using namespace System::Data::SqlClient; char a; void sub( SqlDataReader ^objRd ) { System::Diagnostics::Debug::WriteLine(objRd); while( objRd->Read() ) { System::Diagnostics::Debug::WriteLine(objRd->Read()); } } int main(void){ String^ str; SqlConnection^ sqlConn = gcnew SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\SOUTUKEN\\TEST.mdf;Integrated Security=True;User Instance=True"); sqlConn->Open(); str = "SELECT * FROM table1"; SqlCommand^ sqlCmd = gcnew SqlCommand(str,sqlConn); SqlDataReader^ exeReader = sqlCmd->ExecuteReader(); sub( exeReader ); sqlConn->Close(); } これの実行結果がboolean形で帰ってくるのですがこれを表内のデータが帰ってくるようにしたいのです。 少し知識不足なところもありますがどうかよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

> System::Diagnostics::Debug::WriteLine(objRd->Read()); ではダメですよ System::Diagnostics::Debug::WriteLine(objRd["列名"]->ToString()); または System::Diagnostics::Debug::WriteLine(objRd[列番号]->ToString()); といった具合にします

9oo_001
質問者

お礼

理解できました。ありがとうございました。

その他の回答 (1)

  • gentoo314
  • ベストアンサー率41% (15/36)
回答No.1

SELECTの結果を取得するなら、DataSet クラスを使わないとですね。 C++のようにせこせこクラスを使いながら書かずに、VisualStudioに任せてしまいましょう。データベースの結果出力程度ならすぐにできます。 まずは、データベースプログラミングを体系的に学んでいきましょう。 @ITのサイトを参考にしてください。

参考URL:
http://www.atmarkit.co.jp/fdotnet/vblab/vsdbprog_index/index.html
9oo_001
質問者

お礼

分かりました。 時間を見つけて、少しずつ知識を身につけていきますね。

専門家に質問してみよう