c# - Simple Database Comparison -
i trying compare 2 databases different dates. want load 'orders' table ending database datatable, convert datatable dictionary<string,int> string = ordernumber , int = clientnumber.
once have dictionary memory, run function goes out beginning database , performs atrordersend.containskey(ordernumber) check. if exists nothing done, if not exist, want information of datarow saved somewhere.
is best way go this?
if not, how should i?
static public datatable getdatabaseinfo(string db) { db = @"provider=microsoft.ace.oledb.12.0;data source=" + db; oledbconnection conn = new oledbconnection(db); string query = "select * orders;"; oledbcommand cmd = new oledbcommand(query, conn); oledbdataadapter da = new oledbdataadapter(cmd); datatable dt = new datatable(); conn.open(); try { da.fill(dt); } catch (oledbexception ex) { } return dt; } static dictionary<string,int> todictionary(datatable dt) { //this doesn't work, 'an item same key has been added' error var dict = (from order in dt.asenumerable() select new { ordernumber = order.field<string>("ordernumber"), clientnumber = order.field<int>("client") }).asenumerable() .todictionary(k => k.ordernumber, v => v.clientnumber); return dict; } static public void checkhistorybeg(string db) { db = @"provider=microsoft.ace.oledb.12.0;data source=" + db; oledbconnection conn = new oledbconnection(db); string query = "select * " + "from orders"; oledbdataadapter adapter = new oledbdataadapter(query, conn); datatable dt = new datatable(); try { adapter.fill(dt); (int = 0; <= dt.rows.count - 1; i++) { string ordernumber = dt.rows[i]["ordernumber"].tostring(); if (atrordersend.containskey(ordernumber)) { atrordersend[ordernumber] = atrordersend[ordernumber] + 1; } else { atrordersend.add(ordernumber, 1); } } } catch (oledbexception ex) { } } public main() { datatable enddb_data = getdatabaseinfo(enddblocation); dictionary<string, int> atrordersbeg = todictionary(enddbdata); checkhistorybeg(beginningdblocation); }
you can avoid writing c# code using linked tables in ms access database. 1 db can reference table in other database. can joins or existence queries between 2 databases.
Comments
Post a Comment