private void bnLoad_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "Xml Files (*.xml)|*.xml|All Files (*.*)|*.*"; if (openFileDialog.ShowDialog(this) != DialogResult.OK) { return; } //Удаляем связи между таблицами sqlCon.DoQuery("ALTER TABLE employee DROP CONSTRAINT fk_dep_id"); sqlCon.DoQuery("ALTER TABLE spr_party_number DROP CONSTRAINT fk_dep_id2"); //Удаляем содержимое справочников sqlCon.DoQuery("DELETE * FROM department"); sqlCon.DoQuery("DELETE * FROM enum_department_type"); sqlCon.GetDataTable("enum_department_type", "SELECT * FROM enum_department_type"); sqlCon.GetDataTable("department", "SELECT * FROM department"); DataTable ddt = sqlCon.GetDataTable("department", "SELECT * FROM department"); //Загружаем данные из нового справочника FileInfo f = new FileInfo(openFileDialog.FileName); XmlDataDocument xml = new XmlDataDocument(); xml.DataSet.ReadXmlSchema(Path.ChangeExtension(f.FullName, ".xsd")); xml.Load(f.FullName); sqlCon.MergeDataSet(xml.DataSet); sqlCon.UpdateDataTable("enum_department_type"); sqlCon.UpdateDataTable("department"); //Восстанавливаем связи между таблицами sqlCon.DoQuery("ALTER TABLE employee ADD CONSTRAINT fk_dep_id FOREIGN KEY (department_id) REFERENCES department (id)"); sqlCon.DoQuery("ALTER TABLE spr_party_number ADD CONSTRAINT fk_dep_id2 FOREIGN KEY (department_id) REFERENCES department (id)"); dgRegion.DataSource = sqlCon.GetDataTable("region", "SELECT id, name FROM department WHERE higher='0'");; }