Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - プログラミング » SQL Anywhere データ・アクセス API » SQL Anywhere .NET データ・プロバイダ

 

データのアクセスと操作

SQL Anywhere .NET データ・プロバイダでは、次の 2 つの方法でデータにアクセスできます。

  • SACommand オブジェクト   .NET のデータにアクセスして操作する場合、SACommand オブジェクトを使用する方法をおすすめします。

    SACommand オブジェクトを使用して、データベースからデータを直接取得または修正する SQL 文を実行できます。SACommand オブジェクトを使用すると、データベースに対して直接 SQL 文を発行し、ストアド・プロシージャを呼び出すことができます。

    SACommand オブジェクトでは、SADataReader を使用してクエリまたはストアド・プロシージャから読み込み専用結果セットが返されます。SADataReader は 1 回に 1 つのローのみを返しますが、SQL Anywhere クライアント側のライブラリはプリフェッチ・バッファリングを使用して 1 回に複数のローをプリフェッチするため、これによってパフォーマンスが低下することはありません。

    SACommand オブジェクトを使用すると、オートコミット・モードで操作しなくても、変更をトランザクションにグループ化できます。SATransaction オブジェクトを使用する場合、ローがロックされるため、他のユーザがこれらのローを修正できなくなります。

    詳細については、SACommand クラスSADataReader クラスを参照してください。

  • SADataAdapter オブジェクト   SADataAdapter オブジェクトは、結果セット全体を DataSet に取り出します。DataSet は、データベースから取り出されたデータの、切断されたストアです。DataSet のデータは編集できます。編集が終了すると、SADataAdapter オブジェクトは、DataSet の変更内容に応じてデータベースを更新します。SADataAdapter を使用する場合、他のユーザによる DataSet 内のローの修正を禁止する方法はありません。このため、発生する可能性がある競合を解消するための論理をアプリケーションに構築する必要があります。

    競合の詳細については、SADataAdapter を使用するときの競合の解消を参照してください。

    SADataAdapter オブジェクトの詳細については、SADataAdapter クラスを参照してください。

SADataAdapter オブジェクトとは異なり、SACommand オブジェクト内で SADataReader を使用してデータベースからローをフェッチする方法の場合、パフォーマンス上の影響はありません。


SACommand オブジェクトを使用したデータの検索と操作
SADataAdapter オブジェクトを使用したデータのアクセスと操作
プライマリ・キー値の取得
BLOB の処理
時間値の取得