paul_vin Ответов: 1

Я хочу вставить XML-данные в базу данных SQL server, но это не вставка данных в базу данных


Я хочу создать xml из данного файла excel, а затем эти xml-данные должны быть вставлены в базу данных. Он генерирует XML файл и сохраняет его в заданном месте теперь я прочитал файл в набор данных но этот набор данных я хочу вставить в базу данных


Я использую приложение Windows form

Что я уже пробовал:

string fsReadXml = savefiledialog.ToString();
                   int i = fsReadXml.IndexOf('\\');
                   if (i >= 0) fsReadXml = fsReadXml.Substring(i - 2);   // here I am getting path of XML file

                   DataSet reportData = new DataSet();
                   reportData.ReadXml(fsReadXml);        // Xml file data is loaded in dataset
                   //reportData.ReadXml(Server.MapPath("yourfile.xml"));
                   SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["DBConnectionString"].ConnectionString);
                   SqlBulkCopy sbc = new SqlBulkCopy(connection);
                   sbc.DestinationTableName = "tblCompanyData12";

                   sbc.ColumnMappings.Add("Sales", "Sales");
                   sbc.ColumnMappings.Add("TradedSales", "TradedSales");
                   sbc.ColumnMappings.Add("TotalSales", "TotalSales");
                   sbc.ColumnMappings.Add("Taxes", "Taxes");
                   sbc.ColumnMappings.Add("NetSales", "NetSales");
                   sbc.ColumnMappings.Add("RowMaterial", "RowMaterial");
                   sbc.ColumnMappings.Add("Power", "Power");
                   sbc.ColumnMappings.Add("Consumables", "Consumables");
                   sbc.ColumnMappings.Add("Salaries", "Salaries");
                   sbc.ColumnMappings.Add("ManufacturingCost", "ManufacturingCost");
                   sbc.ColumnMappings.Add("OtherExpenses", "OtherExpenses");
                   sbc.ColumnMappings.Add("TotalCost", "TotalCost");
                   sbc.ColumnMappings.Add("OperatingProfit", "OperatingProfit");
                   sbc.ColumnMappings.Add("Depreciation", "Depreciation");
                   sbc.ColumnMappings.Add("Interest", "Interest");
                   sbc.ColumnMappings.Add("Profitpostinterest", "Profitpostinterest");
                   sbc.ColumnMappings.Add("IncomeTax", "IncomeTax");
                   sbc.ColumnMappings.Add("NetProfit", "NetProfit");
                   sbc.ColumnMappings.Add("ID", "ID");




                   label1.Text = "File Saved Successfully";



Как вставить данные набора данных в sql server я искал в google но он использует адаптер данных но здесь я не могу использовать адаптер данных так что не могли бы вы предоставить решение для ny проблемы пожалуйста

1 Ответов

Рейтинг:
12

Suvendu Shekhar Giri

Похоже, вы пропустили запись данных на сервер после выполнения сопоставления.
Добавьте следующую строку к последней и посмотрите, работает ли это-

sbc.WriteToServer(reportData.Tables[0]);


Пожалуйста, дайте мне знать результат.

Надеюсь, это поможет :)