|
Pervasive OLE DB プロバイダーを使用している場合、Command オブジェクトの Execute メソッドでは、操作の種類に基づいて RecordsAffected パラメーターが異なる結果を返します。
SELECT ステートメントを実行している場合、RecordsAffected は -1(マイナス 1)を返し、このオプションがサポートされていないことを示します。たとえば、次のようにします。
cn.Open "Provider=PervasiveOLEDB;Data Source=TestData;" SQLst = "Select * From MyData" cmd.ActiveConnection = cn cmd.CommandText = SQLst Set rs = cmd.Execute(RecordsAffected)
この場合、RecordsAffected は -1 になります。
SELECT クエリが返すレコード数を取得したい場合は、次の例のように RecordCount プロパティを使用します。
RecordsAffected は、バッチ挿入、更新、または削除を実行した場合、これらの操作の影響を受けた正確なレコード数を返します。
cn.Open "Provider=PervasiveOLEDB;Data Source=TestData;" SQLst = "Insert into MyData(utinyint_, usmallint_, uinteger_, ubigint_, char_, character_, bit_) Values (1, 12, 13, 100, 'testdata', 'chardata', 1)" cmd.ActiveConnection = cn cmd.CommandText = SQLst cmd.Execute RecordsAffected
この場合、RecordsAffected は 1 になります。
SQLst = "Update MyData set char_ = 'SampleTest' where uinteger_ = 13" cmd.ActiveConnection = cn cmd.CommandText = SQLst cmd.Execute RecordsAffected
この場合、RecordsAffected は 13 という値を持つすべてのレコード数に相当する x になります。
|