Interstage Shunsaku Data Manager アプリケーション開発ガイド - Microsoft(R) Windows(R) 2000/ Microsoft(R) Windows Server(TM) 2003 - - UNIX共通 -
目次 索引 前ページ次ページ

第2部 APIでのアプリケーション開発> 第10章 .NET APIのアプリケーション開発> 10.3 .NET APIの使用方法> 10.3.3 データの更新

10.3.3.3 レコードIDを指定してデータを更新する

XML文書を更新するには、Updateメソッドを使用します。

.NET APIでは、レコードIDを使用してデータを更新します。データを更新する前に、更新したいデータのレコードIDを取得しておく必要があります。レコードIDによるXML文書の更新とは、新しいXML文書で既存のXMLを置換することを指します。既存のXML文書中のデータを部分的に更新することはできません。

レコードIDを指定してデータを更新する場合の流れについて、以下の図に示します。

[図:レコードIDを指定してデータを更新する場合の流れ]

■C# .NETの記述例

ShunService service = new ShunService();
service.Connect();

ShunSearchRequirement req = new ShunSearchRequirement();
req.QueryExpression = "/document/base/prefecture == '大阪'";
req.ReturnExpression = "/";

ShunResultSet rs = service.Search( req );                                       (1)
ShunRecord updateRecord = null;                                                 (1)
foreach ( ShunRecord record in rs.Records ) {                                   (1)
  if ( record.Data == "ホテル1" ) {                                             (1)
    updateRecord = record;                                                      (1)
  }
}
updateRecord.Data = updateData ;                                                (2)
ShunRecordCollection recCol = new ShunRecordCollection();                       (3)
recCol.Add( updateRecord );                                                     (4)

service.Update( recCol );                                                       (5)

service.Disconnect();

■VB .NETの記述例

Dim service As New ShunService()
service.Connect()

Dim req As New ShunSearchRequirement()
req.QueryExpression = "/document/base/prefecture == '大阪'"
req.ReturnExpression = "/"

Dim rs As ShunResultSet =  service.Search( req )                                  (1)
Dim updateRecord As ShunRecord = Nothing                                          (1)
For Each record As ShunRecord In rs.Records                                       (1)
  If record.Data = "ホテル1" Then                                                 (1)
    updateRecord = record                                                         (1)
  End If
Next
updateRecord.Data = updateData                                                    (2)
Dim recCol As New ShunRecordCollection()                                          (3)
recCol.Add( updateRecord )                                                        (4)
service.Update( recCol )                                                          (5)

service.Disconnect()

◆(1) 更新対象のShunRecordオブジェクトの取得

更新対象のShunRecordオブジェクトを取得します。

◆(2) 更新するデータの設定

更新したいXML文書をShunRecordオブジェクトに設定します。XML文書を設定するには、以下のメソッドを使用します。使用可能なメソッドについては以下の表を参照してください。

[表:XML文書を設定するメソッド一覧]

メソッド名またはプロパティ名

機能説明

ShunRecord(String data)

XML文書をコンストラクタの引数に指定してShunRecordオブジェクトを生成します。

ShunRecord(ShunRecordID recordID, String data)

レコードIDとXML文書をコンストラクタの引数に指定してShunRecordオブジェクトを生成します。

ShunRecord(ShunRecordID recordID, Stream stream)

レコードIDとXML文書をコンストラクタの引数に指定してShunRecordオブジェクトを生成します。

Dataプロパティ

XML文書を指定します。

◆(3) ShunRecordCollectionオブジェクトの作成

ShunRecordCollectionオブジェクトを作成します。

◆(4) ShunRecordオブジェクトの設定

ShunRecordオブジェクトを、ShunRecordCollectionオブジェクトに設定します。

ShunRecordオブジェクトを設定するには、以下のメソッドを使用します。使用可能なメソッドについては以下の表を参照してください。

[表:ShunRecordオブジェクトを設定するメソッド一覧]

メソッド名またはプロパティ名

機能説明

Add(ShunRecord record)

ShunRecord を ShunRecordCollection の末尾に追加します。

AddRange(ShunRecord[] records)

ShunRecord 配列の要素を ShunRecordCollection の末尾にコピーします。

Insert(int index, ShunRecord record)

ShunRecordCollection 内の指定したインデックス位置に、 ShunRecord を挿入します。

Item[int index]

指定したインデックス位置のShunRecordを置き換えます。
C# .NETでは、このプロパティは ShunRecordCollectionクラスのインデクサになります。

◆(5) 更新の実行

更新の実行はUpdateメソッドを使用します。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006