// SQLSvSelect.cpp : コンソール アプリケーションのエントリ // ポイントを定義します。 // #include "stdafx.h" #using #include #using #using #using using namespace System; using namespace System::Data; using namespace System::Xml; using namespace System::Collections; using namespace System::Data::SqlClient; int _tmain( int argc, _TCHAR* argv[] ) { SqlConnection* conn; try { // データベースへ接続 String* sConnStr; sConnStr = "Password=pass;" \ "User ID=user;" \ "Initial Catalog=dbname;" \ "Data Source=(local)"; conn = new SqlConnection( sConnStr ); conn->Open(); Console::WriteLine( "Open OK!!" ); // 検索 SqlDataAdapter* adpt = new SqlDataAdapter( "SELECT CONVERT(varchar,door_nmbr,120)" \ " AS door_nmbr" \ ", CONVERT(varchar,set_time,120)" \ " AS set_time" \ ", door_type" \ " FROM door_mst" \ " ORDER BY set_time" , conn ); DataSet* ds = new DataSet( "DS" ); adpt->FillSchema( ds, SchemaType::Source, "Data" ); adpt->MissingSchemaAction = MissingSchemaAction::AddWithKey; adpt->Fill( ds, "Data" ); // 検索結果を表示 DataTable* tbl = ds->Tables->Item["Data"]; IEnumerator* iEnum = tbl->Rows->GetEnumerator(); while( iEnum->MoveNext() ) { Console::WriteLine( "[{0}/{1}/{2}]" , dynamic_cast ( dynamic_cast ( iEnum->Current ) ->get_Item( "door_nmbr" ) ) , dynamic_cast ( dynamic_cast ( iEnum->Current ) ->get_Item( "set_time" ) ) , dynamic_cast ( dynamic_cast ( iEnum->Current ) ->get_Item( "door_type" ) ) ); // get_Itemの引数に存在しないカラム名を指定すると // 以下のエラーが出る。 // 列 'door_type2' はテーブル Authors に属して // いません。 } } catch ( Exception* ex ) { Console::WriteLine( ex->Message ); } __finally { conn->Close(); Console::WriteLine( "Close." ); } // ウィンドが消えるのを防止 getchar(); return 0; }