0

vb6で編集可能なテーブルを持つデータグリッドを備えたadodcオブジェクトがあります。ユーザーが行った変更をデータベースに保存する必要があります。

最初のアイデアは、使用Sub grdDataGrid_Click()されている行を取得するために使用することでしたが、このためには、その行でセルが変更されているかどうかを確認し、その元の値と新しい値を取得する必要があります。それをチェックする方法はありますか?私が見たように、レコードセットにはWillイベントとCompleteイベントがありますが、これまで使用したことはありません。変更されたセルの新旧の値を取得できますか?また、使用しているテーブルのOracleでトリガー(新旧のデータを取得できるため)を使用することも考えましたが、その場合、ログインして変更を行ったユーザーを取得できません。

私はどんな種類のアイデアにも賛成です。vb6のみである必要はありません。1つだけでは不十分な場合は、ストアドプロシージャ、関数、トリガーを使用できます。

4

1 に答える 1

0

WillChangeRecordイベントを調べてみてください。レコードが変更されている理由がわかり、変更されるレコードのレコードセットがあります。Microsoft のドキュメントはこちらでご覧いただけます

Adodc1_WillChangeRecord(ByVal adReason As ADODB.EventReasonEnum, ByVal cRecords As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
于 2012-07-10T22:28:48.017 に答える