Solved

ADOExpress problems !

Posted on 2001-07-02
6
171 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
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
This is used to tweak the memory usage for your computer, it is used for servers more so than workstations but just be careful editing registry settings as it may cause irreversible results. I hold no responsibility for anything you do to the regist…
Hi friends,  in this video  I'll show you how new windows 10 user can learn the using of windows 10. Thank you.

911 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

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now