あなたの習慣について教えてください!!

VB6.0SP5で開発しています。

単純なデータベースの更新プログラムなんですが、
更新した後にRefreshやRebindしても更新内容が反映されません。

ADODCをつかってグリッドに内容を表示しているのですが、
グリッドをクリックして選択した行のレコードを削除します。
そのあとに、ADODCをRefreshしてもグリッドをRefreshしても反映されないんです。
データは削除されています。
DataGrid,TDBGridの二つのグリッドで試したんですが、
どっちもだめでした。
みななんどうやって反映させているのでしょうか?
どうぞ、よろしくお願いしますm(_ _)m

A 回答 (2件)

データの再同期のタイミングの問題のようなので、


Resyncメソッドを使用して同期させると良いかも
しれません。ただ、Adodc1.Recordsetで取得している
レコードが多いと時間がかかるので、注意して下さい。
また、新規に追加したレコードも表示されません。
その場合、Requeryメソッドを使用します。
    • good
    • 0
この回答へのお礼

大変参考になりました。ご回答ありがとうございましたm(_ _)m

お礼日時:2005/02/23 14:11

Adodc1.Recordset.Deleteすれば反映されませんか。


Set DataGrid1.DataSource = Adodc1
をしていますよね。

この回答への補足

ご回答ありがとうございますm(_ _)m
削除はSQL文で、Executeで削除してます。
なんだか、データベースが削除される前に、
ADODC1.Refreshをしてるみたいです。
もちろん、削除の後にRefreshしているのですけど…。
ブレークポイントを使ってゆっくり進むと、
うまく削除→ADODC.Refresh→グリッドに反映されるんです。
こういうことってあるんでしょうか???

補足日時:2005/02/18 21:10
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!