Sunday, July 22, 2007

Cache: Code Listing: Cache data from stored procedure

Code Listing: Cache Data from a Stored Procedure

public DataSet dsOrders = new DataSet();
private void btnGetOrders_Click(object sender, System.EventArgs e)
{
DataSet dsOrders = new DataSet();

// if not already cached, cache it...
if(Cache[drpCustlist.SelectedItem.Value]==null)
CacheOrders()
else
// get it from Cache
dsOrders = (DataSet)Cache[drpCustList.SelectedItem.Value];
grdOrders.DataBind();

}


void CacheOrders()
{
SqlConnection connNWind = new SqlConnection(NWindDSN);
SqlCommand cmdOrders = new SqlCommand(“CustOrdersOrders”,connNWind);
cmdOrders.Parameters.
Add(new SqlParameter(“@CustomerID”,drpCustList.SelectedItem.Value));

cmdOrders.CommandType = CommandType.StoredProcedure;
SqlDataAdapter adptOrders = new SqlDataAdapter(cmdOrders);

try
{
adptOrders.Fill(dsOrders);
}
catch(Exception ex)
{
Response.Write(“An error occurred: “ + ex.Message);
}


Cache.Add(drpCustList.SelectedItem.Value, dsOrders, null, Cache.NoAbsoluteExpiration, System.TimeSpan.FromMinutes(1),CacheItemPriority, Default, null);

}

No comments:

Post a Comment