2012-06-03 2 views
0

내가 가지고있는이 같은 문자열 : 16:00과 내가 그것을 time(7)의 데이터 유형이있는 열에서 내 SQL 서버 데이터베이스에 저장하려면 ...변환 문자열

물론

, I 전에 거기에 저장, 시간 데이터 형식으로 내 문자열을 변환해야합니다. Convert.ToDateTime를 사용하면

, 나는 오류 얻을 :

내가 time(7) 데이터 유형이 내 데이터베이스에서 개체의 속성에 Convert.ToDateTime(myString)을 저장하고 있기 때문이다

Cannot implicitly convert type 'System.DateTime' to 'System.TimeSpan'

...

가 있습니까이 내 문자열을 SQL Server의 time(7) 데이터 형식과 호환되는 형식으로 변환하는 다른 방법은 무엇입니까?

답변

6
는 SQL time 데이터 유형에 해당하는 관리되는 형식은 TimeSpan입니다

(또는 TimeSpan? 때 널 (NULL))를 참조하십시오, 그렇지 DateTime -에 대한 Mapping CLR Parameter Data 참조 유형 변환 목록.

TimeSpan.Parse(myString)을 사용하면 문자열을 변환 할 수 있습니다.

-1

대신 사용 Convert.ToDateTimeDateTime.TryParseExact(yourTimeString, "HH:mm",<other parameters>, out dateTime);

다른 매개 변수가 누락되었습니다. DateTime.TryParseExact 설명서를 살펴보십시오. 하지만 기본적으로 문자열을 지정한 형식에서 dateTime으로 변환합니다.

+0

Bu 이렇게하면 오류가 수정되지 않고 'DateTime'을 어떻게 생성하든 여전히 'TimeSpan'으로 변환 할 수 없습니다. – svick

0

를 사용하여 SQL 서버의 Convert 기능

convert(DateTime, '20:10:00:000', 114); 

CAST & CONVERT

0

또한 시간을 리턴이

Convert.ToDateTime(myString).TimeOfDay(); 

이처럼 사용할 수 있습니다. 그리고이 값을 Sql 명령 매개 변수에 전달할 수 있습니다.

TimeOfDayTimeSpan 개체를 반환합니다.

TimeSpan tp = Convert.ToDateTime(myString).TimeOfDay();