0

以下に示すように、startRecord、MaxRecordなどの引数を取るSQLDataAdapterfillメソッドを理解するためのクエリがあります-

SqlDataAdapter adap = new SqlDataAdapter ("Select * from tblname",ConnectionString);
DataSet ds = new DataSet();
adap.Fill(ds, startIndex, MaxRecords , "TableName");

SqlDataAdapterが何をするのか知りたいです。

最初にテーブルからレコード全体を取得するクエリを実行し、次にテーブルから行をファイリングしますか?

また

必要な数の行のみを選択するクエリをデータベースで実行しますか?

4

2 に答える 2

0

SqlDataAdapter は、データを取得および保存するための DataSet および SQL Server とのブリッジとして機能します。SqlDataAdapter が DataSet を埋めるとき、返されたデータに必要なテーブルと列がまだ存在しない場合は作成します。

これは、理解を深めるためのコードの一部です

string sqlStatement = "Select * from tblname ";
                SqlCommand cmd = new SqlCommand(sqlStatement, con);
                DataSet ds = new DataSet();

                SqlDataAdapter adap = new SqlDataAdapter(cmd);
                cmd.ExecuteNonQuery();
                adap.Fill(ds);
于 2011-12-08T06:43:22.360 に答える
0

sqlDataAdapter.Fill(dataSet, currentIndex, pageSize, "TableName");結果セット全体に対してクエリを実行し、それらをメモリ内でページングします。

大きな結果セットの場合、これは望ましくありません。サーバーでページングを発生させたい場合は、使用する SQL で SKIP 句と TOP 句を使用します。

これを説明するドキュメントは次のとおりです

于 2011-12-08T09:09:10.440 に答える