ADO 및 C++을 사용하여 Microsoft Access 2007 데이터베이스를 쿼리하여 내 프로그램의 첫 번째 버전에서 성공적으로 실행 된 쿼리를 만들었습니다.ADO를 사용할 때 varchar를 double로 변환하면 MS Access에서 작동합니다.
그러나 내 데이터베이스의 구조를 수정해야했습니다.
한 번 유형이 double 인 필드는 이제 varchar입니다.
수정 된 데이터베이스에서 동일한 쿼리를 실행하면 데이터 형식 불일치가보고됩니다.
wchar_t query = L" select (ads(Field) + Field)/2 from MyTable where PrimaryKey = 1;";
필드 유형을 두 번했다,하지만 지금은 VARCHAR입니다 여기
내 쿼리의 버전을 단순화 :
EDITED 쿼리는 첫 번째 솔루션의 포스터를 도움이됩니다. 나는 MS Access에서 쿼리를 만들 때
wchar_t query = L" select (abs(CDbl(Field)) + CDbl(Field))/2 from MyTable where PrimaryKey = 1;";
그것은 작동하지만 내 프로그램에서 나는 여전히 데이터 형식 불일치 오류보고받을 :
이 같은 CDbl
를 사용하여 시도했다.
나는 인터넷에서 대안을 찾으려고 노력해 왔으며 CAST 또는 CONVERT가 단독 일 수 있다고 생각했지만 MS Access에서는 작동하지 않는 것으로 보입니다.
어떤 해결책이 있습니까?
감사합니다.
감사합니다.
당신은 몇 가지를 제안하는 경우 코드를 표시하는 방법, 일부 틱을 얻을 수도 있습니다. 그렇지 않으면 질문으로 보입니다. – doctorlove
@ Wietze314, 전체 질문을 볼 수 있도록 솔루션과 관련이 있다고 생각하므로 질문을 업데이트했습니다. ADODB.Recordset 설정 RS =으로 새로운 ADODB.Recordset 희미한 데시벨로 – AlwaysLearningNewStuff
은 내가 오류를 재현 할 수없는 ADO 개체를 사용하여 Access에서 C++하지만, 심지어 작은 서브 루틴을 사용 해달라고 ... 하위 테스트() 희미한 RS ADODB.Connection 세트 DB = rs.Open "SELECT (ABS (CDbl에는 (필드)) + CDbl에는 (필드))을 MyTable에서 AS/2]"은 CurrentProject.Connection DB, 동안 rs.EOF = 거짓 을 Debug.Print의 RS! A * 1.01 rs.MoveNext 나아가 다 최종 하위 – Wietze314