適用対象
説明
指定したダイナセットの現在の行を削除します。
使用方法
oradynaset.Delete oradynaset.DbDelete
備考
Deleteメソッドの使用前に、行を現在の行にしておく必要があります。行が現在の行になっていない場合は、エラーが発生します。
グローバル・トランザクション(つまり、BeginTransをすでに発行済)のダイナセットの所定の行でDeleteメソッドをコールすると、CommitTransまたはRollbackメソッドをコールするまで、選択した行がロックされたままになります。
削除した行を参照すると、エラーが発生します。(MoveFirst、MovePrevious、MoveNextまたはMoveLastメソッドを使用して)データベース内で移動が発生するまで、削除した行とその直後と直前の行は、現在のまま残ります。移動が発生すると、削除した行を再度現在の行にすることはできません。
トランザクションを使用した場合以外に、削除したレコードを復元する方法はありません。
|
注意: Edit、AddNewまたはDeleteメソッドをコールすると、未処理のEditまたはAddNewのコールは処理前に取り消されます。Updateメソッドを使用して保存されていない未処理の変更は、すべて取消処理中に失われます。 |
例
この例では、Deleteメソッドを使用してデータベースからレコードを削除する方法を示します。このコードをコピーして、フォームの定義セクションに貼り付けてください。次に[F5]を押します。
Sub Form_Load ()
'Declare variables
Dim OraSession As OraSession
Dim OraDatabase As OraDatabase
Dim OraDynaset As OraDynaset
'Create the OraSession Object.
Set OraSession = CreateObject("OracleInProcServer.XOraSession")
'Create the OraDatabase Object by opening a connection to Oracle.
Set OraDatabase = OraSession.OpenDatabase("exampledb", "scott/tiger", 0&)
'Create the OraDynaset Object. Only select the employees in Department 10.
Set OraDynaset = OraDatabase.CreateDynaset("select * from emp where" & _
"deptno=10", 0&)
Do Until OraDynaset.EOF
OraDynaset.Delete
OraDynaset.MoveNext
Loop
MsgBox "All employees from department 10 removed."
End Sub