У меня есть 2 столбца в SQL Таблица базы данных сервера, подобная этой
![enter image description here](https://i.stack.imgur.com/rHTlp.png)
А затем, Scrap Xml Данные API по указанной ссылке, значение столбца цены будет обновлено текущее Xml значение узла цены
Пример кода ниже
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Windows.Forms;
using System.Xml;
namespace DWinform
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
ToSqlServer(Parser());
}
public List<SomeData> Parser()
{
var list = new List<SomeData>();
var xml = new XmlDocument();
xml.Load("http://www.zentrade.co.kr/shop/proc/product_api.php?&id=test&m_skey=test");
foreach (XmlNode node in xml.DocumentElement)
{
var sd = new SomeData();
if (node.Name == "product")
{
sd.Code = node.Attributes["code"].Value;
foreach (XmlNode item in node)
{
if (item.Name =="price")
{
sd.Price = int.Parse(item.Attributes["buyprice"].Value);
}
}
}
list.Add(sd);
}
return list;
}
public void ToSqlServer(List<SomeData> some)
{
SqlConnection conn;
SqlCommand cmd;
string strConn = "dataAdress";
using (conn = new SqlConnection(strConn))
{
conn.Open();
using (cmd = new SqlCommand())
{
cmd.Connection = conn;
cmd.CommandText = $"UPDATE dbo.TableName SET price=@price WHERE code=@code";
foreach (var item in some)
{
cmd.Parameters.AddWithValue("@code", item.Code);
cmd.Parameters.AddWithValue("@price", item.Price);
}
}
}
}
}
public class SomeData
{
public string Code { get; set; }
public int Price { get; set; }
}
}
При нажатии кнопки 1 обновится sql после получения данных узла от xml ссылка на сайт. В ссылке xml узел цен может меняться ежедневно. Когда кнопка нажата, в этот момент, если xml цена узла отличается от предыдущей цены узла, я хочу записать в текстовое поле, и какая цена кода изменяется. (пример: захват образца ниже)
Я попробовал триггер СУБД и метод SqlDataAdapter.RowUpdated()
. Тем не менее, он только информирует об изменении, а не информацию об измененном значении. Я был бы очень признателен, если бы кто-нибудь дал мне некоторую информацию для решения проблемы.