0

SQLサーバーを介してproducttableのすべての行を取得するxml/aspxページを作成しました。このページは xmlfeed として使用されます。この xml には、名前、価格、在庫などの製品の詳細が表示されます。クエリには時間がかかるため、変更された行 (在庫など) のみを取得したいと考えています。SQLサーバーでこれを行う方法は何ですか?

SQLサーバー

select name,price,productid
from product

c#

public List<Feed> GetFeed()
{
    DataSet dst = new DataSet();
    SqlCommand cmd = null;
    List<Feed> feedlist = new List<Feed>();
    using (SqlConnection conn = new SqlConnection(connectionstring))
    {
        conn.Open();
        cmd = new SqlCommand("[GetFeed]", conn);
        cmd.CommandType = CommandType.StoredProcedure;
        using (SqlDataReader rs = cmd.ExecuteReader())
        {
            while (rs.Read())
            {
                feed feed = new Feed();
                feed.productID = rs["ProductID"].ToString();
                feed.price = rs["price"].ToString();
                feedlist.Add(feed);
            }
            rs.NextResult();
        }
    }
    return feedlist;
}


    public class Feed
{
    public string Price { get; set; }
    public string Name { get; set; }
    public string ProductID { get; set; }
}


  protected void Page_Load(object sender, EventArgs e)
{
 var feeds = GetFeed();
 XElement products =
         new XElement("products",
            from p in feeds
            select new XElement("Product",
                  new XElement("id", p.ProductID),
                  new XElement("Price", p.Price),
                  new XElement("Name", p.Name)

            )
         );

    Response.ContentType = "text/xml";
    Response.Write(products.ToString());
    Response.End();
    }
4

1 に答える 1