ダイレクトアクセスキーを使用してデータを削除する場合のC++ .NETの使用例を示します。
削除するデータ
<course> <id>0001</id> <name>Business negotiation</name> <instructor> <first-name>Max</first-name> <last-name>cameron</last-name> </instructor> <capacity>40</capacity> <current-auditors>30</current-auditors> </course> |
定義したダイレクトアクセスキー
key /course/id/text()
APIの使用例
以下にC++ .NETを使用したプログラミング例を示します。
#using <mscorlib.dll> #using <system.dll> #using <Fujitsu.Shunsaku.dll> using namespace System; using namespace Fujitsu::Shunsaku; class SampleDirectAccessDelete { public: static void Main( String *args __gc[] ) { ShunService *service = 0; try { // ShunService の作成 service = new ShunService(); // ホスト名 ポート番号を指定して Shunsaku に接続 service->Host = "DirSvr1"; service->Port = 23101; service->ShunsakuFile = "shunsakuFile1"; service->Connect(); // 削除用の ShunKeyRequirement オブジェクトを作成 ShunKeyRequirement *keyReq = new ShunKeyRequirement(); keyReq->KeyName = "key"; // 削除したいデータのダイレクトアクセスキーを追加 keyReq->Records->Add( new ShunRecord() ); keyReq->Records->get_Item( 0 )->Key = "0001"; //コース情報の更新 service->DeleteByKey( keyReq ); Console::WriteLine( "削除終了" ); // Shunsaku から切断 service->Disconnect(); } catch ( ShunContinuousException *e ) { // ShunContinuousExceptionが発生した場合の処理を記述 try { if( service != 0 && service->State == ShunConnectionState::Open ) { service->Disconnect(); } } catch ( ShunException *ex ) { Console::WriteLine( "エラーメッセージ : {0}", ex->Message ); } Console::WriteLine( "エラーメッセージ : {0}", e->Message ); } catch ( ShunConnectionTerminatedException *e ) { // ShunConnectionTerminatedExceptionが発生した場合の処理を記述 Console::WriteLine( "エラーメッセージ : {0}", e->Message ); } } }; int main() { return SampleDirectAccessDelete::Main( Environment::GetCommandLineArgs() ); } |
実行結果
削除終了