En iyi yanıtlayıcılar
Xml ve okuma veri tabanına yazma

Soru
-
e-ticaret projesi üzerinde çalışıyorum. Daha önce kullandıkları sistemi değiştirmek asp.net e geçmek istiyorlar. Fakat ürünleri tekrar tekrar eklemek istemiyorlar. Eski çalıştıkları firma yedekleri kayıtları xml ve excel olarak veriyor. Ürün kayıtlarını. Xml veri okuyup veritabanına istediğim sütuna kayıt ettirmem gerekiyor. İşlemleri nasıl gerçekleştirebilirim. Xml veri okuma yapabiliyorum fakat okuyup veri tabanına kayıt etmem lazım. Yardımlarınızı bekliyorum.
Yanıtlar
-
DataTable table= new DataTable(); table.ReadXml("D:\test.xml"); foreach (DataRow row in table.Rows) { using (SqlConnection connection = new SqlConnection("Bağlantı metnini buraya yazın...")) { //Kullanılan parametre sayısı hedef tablodaki kolon sayısına göre artabilir/azalabilir... using (SqlCommand command = new SqlCommand("INSERT INTO HedefTablo (Alan1, Alan2, Alan3) VALUES (@param1, @param2, @param3)", connection)) { command.Parameters.AddWithValue("@param1", row[0].ToString()); //Hedef alanın veri tipi string ise... command.Parameters.AddWithValue("@param2", Convert.ToDecimal(row[1])); //Hedef alanın veri tipi decimal ise... command.Parameters.AddWithValue("@param3", Convert.ToDateTime(row[2])); //Hedef alanın veri tipi DateTime ise... command.ExecuteNonQuery(); } } }
Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...
- Düzenleyen MuratAKSARAY 25 Aralık 2017 Pazartesi 10:04
- Yanıt Olarak Öneren Yunus Bulduk 25 Aralık 2017 Pazartesi 10:56
- Yanıt Olarak İşaretleyen Kyamuran SalibryamMicrosoft contingent staff, Moderator 26 Aralık 2017 Salı 09:49
Tüm Yanıtlar
-
DataTable table= new DataTable(); table.ReadXml("D:\test.xml"); foreach (DataRow row in table.Rows) { using (SqlConnection connection = new SqlConnection("Bağlantı metnini buraya yazın...")) { //Kullanılan parametre sayısı hedef tablodaki kolon sayısına göre artabilir/azalabilir... using (SqlCommand command = new SqlCommand("INSERT INTO HedefTablo (Alan1, Alan2, Alan3) VALUES (@param1, @param2, @param3)", connection)) { command.Parameters.AddWithValue("@param1", row[0].ToString()); //Hedef alanın veri tipi string ise... command.Parameters.AddWithValue("@param2", Convert.ToDecimal(row[1])); //Hedef alanın veri tipi decimal ise... command.Parameters.AddWithValue("@param3", Convert.ToDateTime(row[2])); //Hedef alanın veri tipi DateTime ise... command.ExecuteNonQuery(); } } }
Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...
- Düzenleyen MuratAKSARAY 25 Aralık 2017 Pazartesi 10:04
- Yanıt Olarak Öneren Yunus Bulduk 25 Aralık 2017 Pazartesi 10:56
- Yanıt Olarak İşaretleyen Kyamuran SalibryamMicrosoft contingent staff, Moderator 26 Aralık 2017 Salı 09:49
-
-
Hocam xml dosyadan bazı bilgileri okuyamıyorum.<title>, <description> bilgilerini okuyabiliyorum herhangi bir sıkıntı yok fakat."<g:price>" bu formatta tanımlanan bilgileri çekemiyorum. Verileri okuma kodum aşağıdadır. Yardımlarınızı bekliyorum
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">
private void bilgilerigetir()
<item>
<g:condition><![CDATA[new]]></g:condition>
<g:id>8366</g:id>
<g:mpn><![CDATA[BEFRY458]]></g:mpn>
<title><![CDATA[iPhone 7 / 8 Cüzdanlı Kapaklı Sewed Wallet Kılıf]]></title>
<g:brand><![CDATA[]]></g:brand>
<g:availability><![CDATA[in stock]]></g:availability>
<g:additional_image_link><![CDATA[http://st1.myideasoft.com/idea/cb/91/myassets/products/366/beyaz-2.JPG?revision=1515100254]]></g:additional_image_link>
<g:additional_image_link><![CDATA[http://st1.myideasoft.com/idea/cb/91/myassets/products/366/beyaz-1.JPG?revision=1515100254]]></g:additional_image_link>
<g:additional_image_link><![CDATA[]]></g:additional_image_link>
<g:image_link><![CDATA[http://st2.myideasoft.com/idea/cb/91/myassets/products/366/beyaz.JPG?revision=1515100251]]></g:image_link>
<description><![CDATA[<div>Ürün açıklama</div>]]></description>
<link><![CDATA[http://www.cepkanyon.com/urun/iphone-7-8-cuzdanli-kapakli-sewed-wallet-kilif]]></link>
<g:product_type><![CDATA[KILIFLAR > Deri Kılıflar]]></g:product_type>
<g:price>39.90 TRY</g:price>
<g:gtin><![CDATA[]]></g:gtin>
<g:google_product_category><![CDATA[]]></g:google_product_category>
</item>
{
XmlTextReader okuyucu = new XmlTextReader("urunler.xml");
XmlDocument dokuman = new XmlDocument();
dokuman.Load(okuyucu);
XmlNode rss = dokuman.SelectSingleNode("/rss");
XmlNodeList title = dokuman.SelectNodes("/rss/channel/item/title");
XmlNodeList description = dokuman.SelectNodes("/rss/channel/item/description");
XmlNodeList url = dokuman.SelectNodes("/rss/channel/item/link");
DataTable tablo = new DataTable();
DataRow satır;
tablo.Columns.Add(new DataColumn("Ürün Adı"));
tablo.Columns.Add(new DataColumn("Açıklama"));
tablo.Columns.Add(new DataColumn("Url"));
for (int i = 0; i < 3000; i++)
{
satır = tablo.NewRow();
satır[0] = title.Item(i).InnerText.ToString();
satır[1] = description.Item(i).InnerText.ToString();
satır[2] = url.Item(i).InnerText.ToString();
tablo.Rows.Add(satır);
}
GridView1.DataSource = tablo;
GridView1.DataBind();
}