C# ASP.NET 응용 프로그램 (MVC 3)에서 SQL Server 2014 저장 프로 시저를 실행하는 동안 문제가 있습니다. 동일한 매개 변수를 사용하여이 절차를 수동으로 실행하면 모든 적절한 결과를 반환합니다. 프로 시저가 C# 응용 프로그램에서 실행되면 "판독기"는 데이터없이 비어 있습니다. DateTime 형식의 문제 인 것 같습니다. 문제를 해결하려면 어떻게해야합니까?StoredProcedure에서 DateTime 형식 문제 - C# ASP.NET x MS SQL Server 2014
SQL :
ALTER PROCEDURE [dbo].[my_proc]
(
@client_code AS varchar(7),
@begin_date AS datetime,
@end_date AS datetime
)
AS
BEGIN
SET NOCOUNT ON;
SELECT *
from [dbo].[my_table] c
WHERE c.code = @client_code
AND c.date1 >= @begin_date
AND c.date2 <= @end_date
END
C 번호 :
DateTime Today = DateTime.Today;
DateTime LastYear = Today.AddYears(-1);
sql = new SqlConnection(/*my string connection*/);
sql.Open();
adapter.SelectCommand = new SqlCommand();
adapter.SelectCommand.CommandText = "dbo.my_proc";
adapter.SelectCommand.Connection = sql;
adapter.SelectCommand.CommandType = CommandType.StoredProcedure;
param1 = adapter.SelectCommand.Parameters.Add("@client_code", SqlDbType.VarChar);
param1.Value = cod_client;
param2 = adapter.SelectCommand.Parameters.Add("@begin_date", SqlDbType.Date);
param2.Value = LastYear.ToString("yyyy-MM-dd");
param3 = adapter.SelectCommand.Parameters.Add("@end_date", SqlDbType.Date);
param3.Value = Today.ToString("yyyy-MM-dd");
reader = adapter.SelectCommand.ExecuteReader();
'로 .toString ("...")':
–DateTime 유형의 매개 변수가 필요합니다. 왜 완벽하게 맞는 datetime 변수를 문자열로 변환합니까? – Steve
C#과 SQL Server의 datetime 형식이 일치하지 않아서 toString 메서드를 통해 형식을 관리하려고했습니다. –