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

SQL Anywhere 12.0.1 » SQL Anywhere サーバー プログラミング » .NET アプリケーションプログラミング » 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 クラス [SQL Anywhere .NET]SADataReader クラス [SQL Anywhere .NET]を参照してください。

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

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

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

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


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