- ベストアンサー
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形で帰ってくるのですがこれを表内のデータが帰ってくるようにしたいのです。 少し知識不足なところもありますがどうかよろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> System::Diagnostics::Debug::WriteLine(objRd->Read()); ではダメですよ System::Diagnostics::Debug::WriteLine(objRd["列名"]->ToString()); または System::Diagnostics::Debug::WriteLine(objRd[列番号]->ToString()); といった具合にします
その他の回答 (1)
- gentoo314
- ベストアンサー率41% (15/36)
SELECTの結果を取得するなら、DataSet クラスを使わないとですね。 C++のようにせこせこクラスを使いながら書かずに、VisualStudioに任せてしまいましょう。データベースの結果出力程度ならすぐにできます。 まずは、データベースプログラミングを体系的に学んでいきましょう。 @ITのサイトを参考にしてください。
お礼
分かりました。 時間を見つけて、少しずつ知識を身につけていきますね。
お礼
理解できました。ありがとうございました。