[.net] MySQL 날짜 / 시간 값을 System.DateTime으로 변환 할 수 없습니다.

이 오류가 발생합니다.

MySQL 날짜 / 시간 값을 System.DateTime으로 변환 할 수 없습니다.

MySQL 데이터베이스에서 데이터를 가져 오는 동안. 나는이 날짜 내 MySQL 데이터베이스에서 데이터 유형을. 그러나 내 데이터 테이블로 검색하는 동안 위의 오류가 발생합니다.

이 문제를 어떻게 해결할 수 있습니까?



답변

“MySQL 날짜 / 시간 값을 System.DateTime으로 변환 할 수 없음”을 Google에 검색하면 Visual Studio에서 MySQL에 액세스하는 문제에 대한 많은 참조를 볼 수 있습니다. 그것이 당신의 맥락입니까?

제안 된 한 가지 해결책은 다음과 같습니다.

이것은 버그가 아니라 예상되는 동작입니다. 연결 옵션에서 매뉴얼을 확인하고 첨부 된 사진에서와 같이 “Allow Zero Datetime”을 true로 설정하면 오류가 사라집니다.

참조 : http://bugs.mysql.com/bug.php?id=26054


답변

Convert Zero Datetime=True연결 문자열에 추가해야합니다 . 예를 들면 다음과 같습니다.

server=localhost;User Id=root;password=mautauaja;Persist Security Info=True;database=test;Convert Zero Datetime=True


답변

나는 Convert Zero Datetime=True& 둘 다 추가 Allow Zero Datetime=True했고 잘 작동합니다.


답변

datetime 값을 문자열로 끌어 내고 다음을 수행 DateTime.ParseExact(value, "ddd MMM dd hh:mm:ss yyyy", culture, styles);합니다. 데이터베이스에서 반환하는 날짜에 대해 날짜 형식을 설정하기 만하면됩니다. 대부분 yyyy-MM-dd HH:mm:ss. 적어도 나를위한 것입니다.

여기에서 자세한 정보를 확인하십시오. DateTime.ParseExact


답변

MySql이 유닉스 타임 스탬프를 문자열로 변환하도록합니다. mysql 함수 FROM_UNIXTIME (113283901) 사용


답변

나는 또한 같은 문제에 직면했고 열 이름과 유형을 얻었습니다. 그런 다음 테이블 이름에서 캐스트 (col_Name as Char). 이런 식으로 문제가 ‘0000-00-00 00:00:00’으로 표시되면 유효한 날짜와 시간으로 업데이트하여 내 경우에 오류가 사라집니다.


답변

MySql에서 사용하는 날짜 및 시간과 완전히 호환되는 응용 프로그램을 만들 수 있습니다. 애플리케이션이 런타임에 실행될 때이 코드를 제공하십시오. 먼저 응용 프로그램 이벤트로 이동하십시오. 도구 목록에서

  1. 프로젝트로 이동
  2. 프로젝트 속성
  3. 응용 프로그램 탭을 선택하십시오.
  4. 애플리케이션 이벤트보기

새 파일이 열립니다. 이 파일에는 애플리케이션 시작시 사용되는 코드가 포함되어 있습니다.

새 파일에 다음 코드를 작성하십시오.

 Partial Friend Class MyApplication

    Private Sub MyApplication_Startup(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup
        My.Application.ChangeCulture("en")
        My.Application.ChangeUICulture("en")
        My.Application.Culture.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd"
        My.Application.Culture.DateTimeFormat.LongDatePattern = "yyyy-MM-dd"
        My.Application.Culture.DateTimeFormat.LongTimePattern = "HH:mm:ss"
        My.Application.Culture.DateTimeFormat.ShortTimePattern = "HH:mm:ss"
    End Sub


End Class