ページの先頭行へ戻る
Interstage Shunsaku Data Manager アプリケーション開発ガイド

10.3.3 データの更新

.NET APIでは、以下に示すデータの更新ができます。

参考

ダイレクトアクセスキーを使ったデータ更新も可能です。

ダイレクトアクセスキー機能の詳細については、“第6章 ダイレクトアクセス機能”を参照してください。

C# .NETのデータを更新するサンプルプログラムは、“G.2 データの更新”、VB .NETのデータを更新するサンプルプログラムは、“H.2 データの更新”、C++ .NETのデータを更新するサンプルプログラムは、“I.2 データの更新”を参照してください。

以降に、データの更新を行うアプリケーションの作成方法について説明します。


10.3.3.1 データを追加する

データを追加するには、Insertメソッドを使用します。

データを追加する場合の流れについて、以下の図に示します。


図10.13 データを追加する場合の流れ


C# .NETの記述例

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

String data = "<document>"
             +"    <base>"
                     :
             +"    </base>"
             +"    <information>"
                     :
             +"    </information>"
             +"</document>";

ShunRecordCollection recCol = new ShunRecordCollection();                       (1)
ShunRecord record = new ShunRecord( data ); (2)
recCol.Add( record ); (3)

service.Insert( recCol );
(4) service.Disconnect();

VB .NETの記述例

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

Dim data As String = "<document>" _
                  &"    <base>" _
                          :
                  &"    </base>" _
                  &"    <information>" _
                          :
                  &"    </information>" _
                  &"</document>"


Dim recCol As New ShunRecordCollection()                                        (1)
Dim record As New ShunRecord( data )                                            (2)
recCol.Add( record )                                                            (3)

service.Insert( recCol )                                                        (4)

service.Disconnect()

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

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


(2) 追加するデータの設定

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


表10.11 XML文書を設定するメソッド一覧

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

機能説明

ShunRecord(String data)

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

ShunRecord(Stream stream)

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

Dataプロパティ

XML文書を指定します。

setData(Stream stream)

XML文書を指定します。


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

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

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


表10.12 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クラスのインデクサになります。


(4) 追加の実行

追加の実行はInsertメソッドを使用します。


10.3.3.2 レコードIDを指定してデータを削除する

データを削除するには、Deleteメソッドを使用します。

.NET APIでは、レコードIDを使用してデータを削除します。データを削除する前に、削除したいデータのレコードIDを取得しておく必要があります。

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


図10.14 レコードIDを指定してデータを削除する場合の流れ


C# .NETの記述例

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

ShunRecordCollection recCol = new ShunRecordCollection();                        (1)
recCol.Add( record );
(2)
service.Delete( recCol );
(3)

service.Disconnect();

VB .NETの記述例

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

Dim recCol As New ShunRecordCollection()                                         (1)
recCol.Add( record ) (2)
service.Delete( recCol ) (3) service.Disconnect()

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

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


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

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

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


表10.13 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クラスのインデクサになります。


(3) 削除の実行

削除の実行はDeleteメソッドを使用します。


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

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


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

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


図10.15 レコード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文書を設定するには、以下のメソッドを使用します。使用可能なメソッドについては以下の表を参照してください。


表10.14 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オブジェクトを設定するには、以下のメソッドを使用します。使用可能なメソッドについては以下の表を参照してください。


表10.15 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メソッドを使用します。