DateTime 값을 쿼리에 DbParameter로 전달하는 데 문제가 있습니다. DateTime 값의 시간 부분이 제거 된 것 같습니다. 여기 DateTime 값을 OleDbCommand에 매개 변수로 전달
는 C#에서 샘플 코드입니다 :DbProviderFactory _factory = OleDbFactory.Instance;
DbCommand cmd = _factory.CreateCommand();
cmd.CommandText = "INSERT INTO SomeTable (SomeDateField) VALUES (?)";
DbParameter p = _factory.CreateParameter();
p.ParameterName = ""; // Not necessary
p.Value = DateTime.Now; // assume Time != 00:00:00
p.DbType = DbType.Date; // DateTime and DateTime2 don't work
cmd.Parameters.Add(p);
내 문제는 날짜 매개 변수는이 시간 부분과 SomeDateField 항상 시간과 0시 0분 0초을 가지고와 액세스에 도달하지 않는 것이다. SomeDateField
이 DateTime
하지 Date
입니다에 대한 확인 데이터 유형을 확인
cmd.CommandText = "INSERT INTO SomeTable (SomeDateField) VALUES (#" + aDateTimeString + "#)";
데이터 형식은 무엇입니까? 데이터베이스의 테이블에있는 열의? 또한'DbType.DateTime'이 무슨 뜻입니까? –
DbType.DateTime 및 DbType.DateTime2를 사용할 때 명령을 실행할 때 '조건 식에 데이터 형식이 일치하지 않습니다'라는 예외가 발생합니다. –
필자는 Access를 백엔드로 사용하므로 열 데이터 유형이 Date이지만 .NET의 DateTime과 동일하므로 시간 부분도 포함될 수 있습니다. –