BDE Seems to be re-ordering fields.

I'm using BDE 5.10 with Borland C++ Builder version 3.0 to connect to an Access 97 back end.  When I connect with the native driver included with the BDE, all of the fields in my tables get re-ordered alphabetically by field name.  This is totally messing up some of my SQL statements (INSERTS mainly).  It doesn't happen with the ODBC driver, but the ODBC driver is exponentially slower than the native driver.  

Does anyone know why the BDE's native Access driver does this, and if there is a fix for it?  I should note that viewing the tables through Access shows the fields to be in the correct order.    
largeoneAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

rwilson032697Commented:
This may be a silly Q, but how does field reordering mess up your inserts in SQL?

Cheers,

Raymond.
0
kretzschmarCommented:
hi largeone,

never recognized this,
will check it tomorrorw.

nevertheless should you use the methods
fieldsByName/paramByName rather than fields[]/params[]
to adjust the value

meikl
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
largeoneAuthor Commented:
They're actually not mine (well maybe they are now).  The Inserts are written as paramter queries where the order of the fields listed corresponds to the order of the parameter values passed.  As an example:

insertAutoSchedules->SQL->Text = "INSERT INTO AutoSchedule ( LogsheetSerNum, ScheduleStatus, ScheduleStart, ScheduleEnd )";
      insertAutoSchedules->SQL->Add( "VALUES ( :LogsheetSerNum, :ScheduleStatus, :ScheduleStart, :ScheduleEnd )" );

I can go through and rewrite these queries, but I have inherited this application, and am looking to keep the rewriting to a minimum.  
0
rwilson032697Commented:
You should do as meikl suggests - this will then make your queries behave!

Cheers,

Raymond.
0
largeoneAuthor Commented:
I started re-writing and realized it only comes down to a dozen or so queries.  It shouldn't be a problem to take care of that.  I've just been moved to a more urgent project, and won't be dealing with this stuff again for a while.  I wanted to make sure that I didn't forget to release the points.

Thanks for the input.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Delphi

From novice to tech pro — start learning today.