Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

既存のオブジェクトの更新

ここでは、以下のような .NET のサンプル・コードを扱います。

  1. ExistsId を使用して、オブジェクト ID “1” を持つ Provider.Contact インスタンスがデータベースに存在することを確認します。

  2. Provider.Contact インスタンスを開きます。

  3. インスタンスの Name プロパティを更新します。

  4. Save を使用して、更新したインスタンスをデータベースに保存します。

  5. Save 処理に失敗した場合は、コンソールにエラー・メッセージを出力します。Save から返された CacheStatus インスタンスの IsOK プロパティが false の場合は、処理に失敗しています。


try{
    bool? exists = Provider.Contact.ExistsId(cnCache,"1");
    if (exists.HasValue && exists.Value)
    {
       Provider.Contact contact = Provider.Contact.OpenId(cnCache, "1");
       contact.Name = "Smith,John";
       CacheStatus status = contact.Save();
       if (!status.IsOK)
       {
          Console.WriteLine("Error Updating Contact");
       }
       contact.Close();
    }
}
catch (CacheException e){}

この例の cnCache は、開いている CacheConnection インスタンスを表します。

ExistsId は、NULL 対応の bool? 型を返します。そのため、値は truefalsenull のいずれかになります。bool 値を取得するには、キャストするか、Value プロパティを使用します。ただし、値が null の場合は、どちらの処理でも例外が返されます。そのため、bool 値にアクセスする前に、HasValue を使用して、値が null でないことを確認します。

Note:

.NET における NULL 対応型の詳細は、"C# プログラマーズ リファレンス" の "Null 許容型 (C# プログラミング ガイド)Opens in a new tab" を参照してください。

FeedbackOpens in a new tab