Access에서 가져 오는 C# TableAdapter에서 이상한 동작이 나타납니다. Access에서 결과를 반환하고 TableAdapter Query Builder 실행 쿼리 창에서 결과를 반환하지만 코드에서 실패하고 데이터 미리보기 대화 상자를 사용할 때 오류가 발생하는 쿼리가 있습니다.Access에서 데이터 형식이 일치하지 않습니다. 식에서
이 문제는 DateTime 매개 변수에있는 것 같습니다. 이상한 점은 중첩 된 선택 문장 안에 넣을 때만 실패한다는 것입니다. 전체 쿼리에 적용하면 정상적으로 작동합니다. 불행히도 중첩 된 부분에서 필요하지만 "데이터 형식 불일치 조건 식"항상 얻을. 다른 매개 변수를 제거하고 데이터 매개 변수를 중첩 된 쿼리에 그대로두면 쿼리가 작동합니다.
작품 :
SELECT Employee.FirstName, TimeCard.ID
FROM (((Employee INNER JOIN
MasterFilmUnit ON Employee.ID = MasterFilmUnit.ID) INNER JOIN
MasterDepartment ON Employee.ID = MasterDepartment.ID) LEFT OUTER JOIN
(SELECT ID, WorkDate, EmployeeID
FROM DailyTimeCard
WHERE (WorkDate = ?)) TimeCard ON TimeCard.EmployeeID = Employee.ID)
작품 :
이SELECT Employee.FirstName, TimeCard.ID
FROM (((Employee INNER JOIN
MasterFilmUnit ON Employee.ID = MasterFilmUnit.ID) INNER JOIN
MasterDepartment ON Employee.ID = MasterDepartment.ID) LEFT OUTER JOIN
(SELECT ID, WorkDate, EmployeeID
FROM DailyTimeCard
) TimeCard ON TimeCard.EmployeeID = Employee.ID)
WHERE Employee.ProjectID=? AND WorkDate = ?
가 작동하지 않습니다 내가 t를 얻을 수있었습니다
SELECT Employee.FirstName, TimeCard.ID
FROM (((Employee INNER JOIN
MasterFilmUnit ON Employee.ID = MasterFilmUnit.ID) INNER JOIN
MasterDepartment ON Employee.ID = MasterDepartment.ID) LEFT OUTER JOIN
(SELECT ID, WorkDate, EmployeeID
FROM DailyTimeCard
WHERE WorkDate = ?) TimeCard ON TimeCard.EmployeeID = Employee.ID)
WHERE Employee.ProjectID=?
편집 그는 쿼리의 직원 부분을 중첩하여 결과를 원했기 때문에 where 문을 전체 쿼리에 적용하지 않았습니다. 나는까지 현재 실행 해요,하지만 원래가 작동하지 않는 이유를 모두 같은, 나는 알아낼 수 없습니다 :
작품 :
SELECT Employee.FirstName, TimeCard.ID
FROM ((((SELECT Employee.*
FROM Employee Employee_1
WHERE (ProjectID = ?)) Employee Left OUTER JOIN
MasterFilmUnit ON Employee.ID = MasterFilmUnit.ID) LEFT OUTER JOIN
MasterDepartment ON Employee.ID = MasterDepartment.ID) LEFT OUTER JOIN
(SELECT DailyTimeCard.*
FROM DailyTimeCard
WHERE (WorkDate = ?)) TimeCard ON TimeCard.EmployeeID = Employee.ID)
어떤 도움을 주시면 감사하겠습니다. 나는 혼란 스럽다.
코드 또는 디자이너에서'TableAdapter'를 어떻게 구축하고 있습니까? 세 번째 쿼리의 –
은 두 번째 매개 변수로 workdate를 제공하고 있습니까? – muratgu
테이블 어댑터는 디자이너에서 작성되었습니다. 예, 매개 변수가 올바른 순서로 제공됩니다. 매개 변수가 잘못된 순서로 제공되면 "int를 datetime으로 변환 할 수 없습니다"라는 예상 오류가 발생하므로 각 paramers의 적절한 유형을 확실히 알고있는 것으로 보입니다. – JumboMaximus