ストアド プロシージャが正常に動作するように「オプション」のパラメータを設定する必要があるという問題があります。たとえば、私はこれを持っています:
CREATE PROCEDURE [dbo].[Search]
(
@StartTime datetime = NULL,
@EndTime datetime = NULL,
@CustomerEmail nvarchar(255) = NULL,
@OrderStatusID int
)
さて、私の .net Web サイトでは、例として次のようなものがあります。パラメータは 1 つしかない場合もあれば、すべてある場合もあることに注意してください。
commAdvanced.Parameters.Add("@StartTime", SqlDbType.DateTime).Value = startDate;
commAdvanced.Parameters.Add("@EndTime", SqlDbType.DateTime).Value = endDate;
commAdvanced.Parameters.Add("@CustomerEmail", SqlDbType.nvarchar).Value = null;
commAdvanced.Parameters.Add("@OrderStatusID", SqlDbType.Int).Value = null;
そして、これはクエリです:
SELECT * FROM Order
WHERE CreatedOn > CAST(@StartTime as datetime)
AND CreatedOn < CAST(@EndTime as datetime)
AND Order.OrderStatusID = @OrderStatusID
AND Order.CustomerEmail = @PaymentStatusID
それを行っているときにレコードが取得されません。何を変更する必要があるか教えてください。