2017-11-29 2 views
1

에 유효한 날짜로 인식되지 않습니다. sent_date는 date 유형이고 데이터베이스에는 YYYY/MM/DD 형식으로 저장됩니다. 나는 Datetime.ParseExact를 추가하려고 시도했다. 그러나 "문자열은 유효한 datetime으로 인식되지 않습니다."라고 알려줍니다.문자열은 내가 다음 코드 줄을 C#을

+2

ex_date의 내용이 'MM/dd/yyyy'형식의 문자열입니까? 어쩌면 일부 값은 한 자리 숫자의 월 또는 일만 포함 할 수도 있습니다. 또는 일부 값이 Excel에서 손상되어 datetime으로 파싱 할 수없는 값을 포함하고있을 수 있습니다. 어쨌든, C#에서 매개 변수로 데이터베이스에 날짜를 전송할 때 문자열을 보내지 말고'DateTime'의 인스턴스를 보내십시오 –

+0

어떤 줄에서 오류가 발생합니까? DateTime.ParseExact one 또는 cmd.Parameters.AddWithValue? – Preet

+0

excel의 두 번째 행에서 ex_date를 읽습니다. sent_date (11/29/2017) – chetan

답변

0

ParseExact에서 오류가 발생하는 경우 : Excel에서 얻은 가치가 잘못되었음을 의미합니다. 모든 값이 올바른지 확인하십시오.

그것은 노력하고 있습니다 : see here

편집 :

string ex_date = dr[2].ToString(); 
ex_date = ex_date.Split(' ')[0]; 
DateTime date = DateTime.ParseExact(ex_date, "MM/dd/yyyy", null); 
string SentDateString = date.ToString("yyyy/MM/dd"); 
cmd.Parameters.AddWithValue("?sentdate", SentDateString);  

당신은 SQL 날짜 컬럼에 문자열 값을 전달하기 때문에. 문자열을 datetime으로 변환해야합니다.

string SentDateString = date.ToString("yyyy/MM/dd"); 
DateTime SentDate = Convert.ToDateTime(SentDateString).Date; 
cmd.Parameters.AddWithValue("?sentdate", sentDate); 

희망이 있습니다.

+0

시도해 보았지만 동일하게 나타납니다. – chetan

+0

이 줄에 오류가 있습니다 .date = DateTime.ParseExact (ex_date, "MM/dd/yyyy", null); – chetan

+0

당신은 어떤 줄에 오류가 발생하는지 알려줄 수 있습니까? 그리고 실제 값을 빨리 볼 수 있습니까? – Preet