Updating the CRecordset variable components

I have to update my  recordset classes
While updateing some recordsets return a message:
"Selected data source does not contain all the columns you recordset class needs"
If I simply continue , when I compile and run the program ,  I get an error message " too few params-expecting  n" (which means what???)
The approach I am using is to delete the offending recordset class along with  the clw file and add the recordset class again getting the necessary columns.
I'm just wondering if there is an easier way (ie mass delete the entire variable list and rebuild it).
There are over 50 columns in some recordset's so just comparing and deleting is a daunting task!

Who is Participating?
DanRollinsConnect With a Mentor Commented:
After I make some modifications to a database table, I usually just use the classwizard to manually delete all previous bindings (select each one and delete it).  Then I use the [Bind all] button to set up the variables.  This is good if you use the ClassWizard's default naming convention (m_EXACTFIELDNAME) so that is the best naming convention to use.

Is there a faster way?  Yes.  Edit your CRecordset-derived source .H and .CPP files and delete all of the lines of code in the ClassWizard-maintained blocks.  But even with a large recordset, the click-and delete is pretty fast.

-- Dan
Have a look in the "Member Variables" tab of the MFC Class Wizzard. When you have selected one of your recordsets in the "Class Name" field, does the "Update Columns" or "Bind All" buttons do what you want?
dooley090698Author Commented:
I followed your delete each variable in the CW and worked just fine.
BTW - how'd you get so smart :)
*me bows..humbled by the Great God of Knowledge * :)
>>BTW - how'd you get so smart :)
I eat peanuts.  Lots of them.  It's brain food.
But in this case, it is just experience.  This is one of the first problems people experience when using the ClassWizard with CRecordset classes.  The error message is way confusing.  One of the first things I tried was to simply start over by manually deleting.  If you have ever written Wizard-style (step-by-step, U/I-related) programs, you know that it is nearly impossible to take all things into consideration and that is often possible to "help the Wizard" by starting with a clean slate (in a known state).

-- Dan
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.