2012-11-15 3 views
0

안녕하세요 DateTime.Now.ToString()을 사용하여 시간을 얻은 다음 smalldatetime 인 coloum에 연결하는 프로그램이 있습니다. 이것은 이전에 작동했지만 지금은이 오류가 발생합니다.문자열을 smalldatetime으로 변환 할 때 Artihomic 오버플로 오류가 발생했습니다.

"식을 데이터 형식 datetime으로 변환하는 산술 오버플로 오류 문이 종료되었습니다."

내가 뭘 잘못하고 있니?

이는 @Date_Sent_On 매개 변수 유형 DateTime 대신 string이어야하고 그 값으로 DateTime.Now을 통과해야 내 SQL 문

command.CommandText = @" INSERT INTO Mail1 (UserID, Subject, Feedback, Date_Sent_On) 
         VALUES (@UserID, @Subject, @Feedback, @Date_Sent_On)"; 
+0

를 사용하는 이유는 당신에게 MM-YYYY로 결과를 표시하는 측면에서 유연성을 제공

SELECT cast(datepart(mm, M.REquestdatetime) as varchar) + '/' + cast(datepart(yy, M.REquestdatetime) as varchar) as [Day] FROM ... 

등 : 시간이 같은 것을 사용하기에

나는 또한 도움이 발견했습니다? – nawfal

+0

DateTime 필드를 Database to DateTime 또는 Date – MethodMan

답변

2

입니다.

ToString()으로 날짜 서식을 지정하면 문화에 따라 다르므로 DateTime.Now.ToString()을 사용하면 매우 신뢰할 수 없습니다. 컴퓨터의 국가 별 설정과 응용 프로그램의 culture 설정에 따라 다른 결과가 발생할 수 있습니다.

+0

으로 변경하여 도움을 받으십시오. – user1804234

-1

또한 현재 날짜를 얻을 수 있도록 SQL 문에

requestdatetime between '7/1/2011' and GETDATE() 

를 사용할 수 있습니다. smalldatetime으로를

관련 문제