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

SAP Sybase SQL Anywhere 16.0 » 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:ExecuteReader と ExecuteScalar を使用したデータのフェッチ
SACommand:GetSchemaTable を使用した結果セットのスキーマのフェッチ
SACommand:ExecuteNonQuery を使用したローの挿入、削除、更新
SACommand:新しく挿入したローのプライマリキー値の取得
SADataAdapter:概要
SADataAdapter:Fill を使用したデータの DataTable へのフェッチ
SADataAdapter:FillSchema を使用した DataTable のフォーマット
SADataAdapter:Update を使用したローの挿入
SADataAdapter:Update を使用したローの削除
SADataAdapter:Update を使用したローの更新
SADataAdapter:新しく挿入したローのプライマリキー値の取得
BLOB
時間値