開発環境:VC++.NET
DB:Access2000
今、DBの更新で迷っています。
すみませんが、ヒントを頂けたら幸いです。
CDatabase::OpenExでデータソースとの接続を確立して、
CRecordset::Open(CRecordset::dynaset,sql,CRecordset::none)で
レコードの選択をしました。
その後にCRecordset::CanUpdate()で更新可能な事を確認して
CRecordset::Edit();を呼ぶとエラーが発生してしまいます。
エラー箇所は、dbcore.cppのEdit()のASSERT(m_nFields != 0)部分です。
なぜ、ASSERT(m_nFields != 0)で落ちてしまうのか?を
教えていただきたく。
宜しくお願い致します。
m_nFields が 0 だから、としか言いようが無いと思います。
なぜ 0 なのかは、貴方の書いたコードを見ないと。
ありがとうございます。
m_nFieldsというのはどっかで設定するのですか?
ありがとうございます。
m_nFieldsというのはどっかで設定するのですか?
いや、CRecordSet の使い方は、正直言ってわかりません。
が、ASSERT が出るってことは、どこかで不正な操作をしたってことです。
あるいは、必要な操作がされていないか。
m_nFields は MSDN にドキュメントとして載っていますので、設定する局面もあるんでしょうが、どこで設定するのかはわかりませんし、他の操作によって設定されるのかもしれません。
どなたかフォローお願いします>識者の方
ツイート | ![]() |