Solved

ADOExpress problems !

Posted on 2001-07-02
6
175 Views
Last Modified: 2010-04-06
Hi!

I have a few problems. Let me first say that im a newbie at ADOexpress.
(Problem) It's like this ;
Im creating an application(.)where The user selects tables in a database. After the user has selected these tables, the application is supposed to save these (Recordsets) tables in  XML file(s). The application should also support, that the user selects an XML file and updates a table in the database.

So my question is.
What component in ADOExpress should i use to save and load xml files, I've read something about RecordSets...?.
I need some code Example in c++ or op, pleace.!
(I use BCB 5.0 )



?
Let me write some pseudo code.
-- first bit ----
do while list not Nil
 RecordList[i] =  get Recordset from table list()
  i+1
 list.next()
..
for i to i.length() i+1
SaveInXML.RecordList[i]

--- second bit.----

do while list not Nil
 Recordlist[i] = openXMLFile(list)
 i+1
 list.next()
...
for i to i.length() i+1
UpdateTable[list].RecordList[i]
-- end ---

/ wr Henrik Franzen
0
Comment
Question by:swingfly
  • 3
  • 2
6 Comments
 
LVL 1

Accepted Solution

by:
bnemmers earned 50 total points
ID: 6245774
Try using the SaveToFile & LoadFromFile using an
ADODataSet. Here's some sample code.



procedure TForm1.Button1Click(Sender: TObject);
begin
  ADOTable1.SaveToFile('C:\TestXML.xml', pfXML);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  if (FileExists('C:\TestXML.xml')) then
    ADOTable2.LoadFromFile('C:\TestXML.xml')

end;

Good luck.
Bill
0
 

Author Comment

by:swingfly
ID: 6246211
Its not hard to load and save to an XML file, the problem is how do you update a database with an open XML file!
0
 
LVL 1

Expert Comment

by:bnemmers
ID: 6246819
I assume you will not know what or if any record were updated, added or deleted.

Because in a sense you have two complete data set. Which one will be the master copy the new xml or the current table in the db?  
Without some control over the xml file you might have to step through each record in the 2nd (XML file) record set and update, insert or delete from the 1st record set (master db).
I would create the same index on both dataset to
insure that you have the same sort order then compare each record against the master db.
 
The best way would have some type of flag in the xml file that would identify what occurred, insert, update or delete.
Then you could just step through the xml dataset and based on the status of the flag perform the needed action on the master db.
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:swingfly
ID: 6247459
Yes, thats true, but can't you solve the problem by using updatebatch ?.. That would be a nice solution, but it doesn't seem to work.


Pesudo :
Temp openXML
ConnectionOpen
Temp use ConnectionOpen
Temp.updatebatch
0
 
LVL 1

Expert Comment

by:bnemmers
ID: 6249526
From what I understand ADODataSet.UpdateBatch is like transaction control. Where you can post all of your changes
at the same time or cancle them also. I'm not aware of any
replacement for TBatchMove from BDE that woks for ADO.
You might have to write you own.

Bill
0
 

Expert Comment

by:SpideyMod
ID: 8280614
Force Accepted

SpideyMod
Community Support Moderator @Experts Exchange
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question