0

ストアド プロシージャを作成し、MSSQL Server で問題なくクエリを実行しました。

 USE [DivaReportTest]
GO

DECLARE @return_value int

EXEC    @return_value = [dbo].[PR_DAILY]
        @Start = N'2012-10-16 01:00:00.000',
        @Finish = N'2012-10-18 01:00:00.000',
        @TimeRange = 1

SELECT  'Return Value' = @return_value

GO

ここで .NET でこのプロシージャを呼び出します。

private DataSet GetPR_DAILY(DateTime StartTime, DateTime FinishTime, int TimeRange)
        {
            DataSet ds = new DataSet();
            SqlCommand cmd = new SqlCommand("PR_DAILY", connection);
            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.AddWithValue("@Start", SqlDbType.DateTime).Value = StartTime;
            cmd.Parameters.AddWithValue("@Finish", SqlDbType.DateTime).Value = FinishTime;
            cmd.Parameters.AddWithValue("@TimeRange", SqlDbType.Int).Value = TimeRange;

            da = new SqlDataAdapter();
            da.SelectCommand = cmd;
            da.Fill(ds);
            return ds;
        }

SqlDbType.Int では問題になる可能性があります。この関数では 1 行しか返されないためですが、クエリで実行すると 3 行が返されます。

4

1 に答える 1

0

UIを通過する日付形式が異なるようです。SQLプロファイラーを使用してデバッグしていただけますか?

于 2012-10-22T11:32:33.447 に答える