CRecordset::Edit()について


Mic  2004-08-20 20:51:16  No: 54255

開発環境: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)で落ちてしまうのか?を
教えていただきたく。

宜しくお願い致します。


シャノン  2004-08-20 22:28:43  No: 54256

m_nFields が 0 だから、としか言いようが無いと思います。
なぜ 0 なのかは、貴方の書いたコードを見ないと。


mic  2004-08-20 23:11:38  No: 54257

ありがとうございます。

m_nFieldsというのはどっかで設定するのですか?


mic  2004-08-20 23:11:40  No: 54258

ありがとうございます。

m_nFieldsというのはどっかで設定するのですか?


シャノン  2004-08-22 00:32:31  No: 54259

いや、CRecordSet の使い方は、正直言ってわかりません。
が、ASSERT が出るってことは、どこかで不正な操作をしたってことです。
あるいは、必要な操作がされていないか。

m_nFields は MSDN にドキュメントとして載っていますので、設定する局面もあるんでしょうが、どこで設定するのかはわかりませんし、他の操作によって設定されるのかもしれません。
どなたかフォローお願いします>識者の方


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加