Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как избежать кэширование предыдущего запроса?  [new]
skole
Member

Откуда:
Сообщений: 265
Здравствуйте!
Посмотрел форум, но не нашел решение, применительно к моей проблеме. SQL сервер кэширует запросы, это для меня не ново, но что делать, если необходимо получать обновленные данные. Мое приложение вставляет строки и делает select дважды за цикл, однако я не могу получить обновленные данные, SQL сервер кэширует результат предыдущего запроса, вот мой код (С#):

public override List<OrderItem> GetOrderItemsByOrderId(int orderId)
        {
            using (SqlConnection cn = new SqlConnection(ConnectionString))
            {
                SqlCommand cmd = new SqlCommand("app_OrderItems_GetOrderItemsByOrderId", cn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@OrderId", SqlDbType.Int).Value = orderId;
                
                cn.Open();
                return GetOrderItemCollectionFromReader(ExecuteReader(cmd));
            }
        }

Код обращается к простой ХП:

ALTER PROCEDURE [dbo].[app_OrderItems_GetOrderItemsByOrderId]
(
    @OrderId int
)
AS
SET NOCOUNT ON
SELECT     OrderItemId, OrderId, SubProductId, Quantity, UpdatedDate, CreatedDate
FROM         app_OrderItems
WHERE     (OrderId = @OrderId)

Как можно избежать кэширование предыдущего запроса?
14 апр 13, 09:26    [14177604]     Ответить | Цитировать Сообщить модератору
 Re: Как избежать кэширование предыдущего запроса?  [new]
skole
Member

Откуда:
Сообщений: 265
Проблема решена, прошу простить, мой запрос внутри приложения обращался к кэшу приложения. Ошибка устранена. Всем спасибо за внимание.
14 апр 13, 09:53    [14177624]     Ответить | Цитировать Сообщить модератору
 Re: Как избежать кэширование предыдущего запроса?  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34705
skole,

Да лучше даже пост сам удалить, чтобы никакой мчудак не подумал, что MSSQL результаты запросов кэширует.
14 апр 13, 14:13    [14178009]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить