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();
}