2013-06-19 3 views
2

SQLite 데이터베이스와 함께 C++ Builder를 사용합니다. DBExpress를 통해 데이터베이스에 연결합니다. 문제는 DBGrid가 데이터베이스에있는 정확한 값이 아닌 모든 필드에 (WIDEMEMO)를 표시한다는 것입니다.SQLite가 포함 된 C++ 빌더 : 데이터 표현은 DBGrid의 WIDEMEMO를 보여줍니다.

예를 들어 Firebird와 같은 다른 데이터베이스에는이 문제가 없습니다.

왜이 동작입니까? 내가 sqlite 뭔가를 놓치고 어떻게 수정할 수 있습니다. 작은 독립 실행 형 응용 프로그램에 SQLite/Firebird 또는 다른 내장 데이터베이스를 사용하는 것이 좋습니다.

미리 감사드립니다.

답변

1

나는이 질문은 오래 알고 있지만 그것은 선택 어떤 대답을 가지고 있지 않기 때문에 나는 내 두 센트에 던질 것이다. 나는 최근에 같은 문제를 겪었고 당신을 위해 일할 수도있는 해결책을 발견했다.

이 문제는 C++ DataSet과 SQLite에 존재합니다. 정의 된 크기가없는 필드, 특히 텍스트 필드가있는 경우 해당 필드는 DBGrid의 widememo 또는 메모처럼 처리됩니다. 따라서 텍스트 필드를 특정 수의 문자 즉 VARCHAR (10)로 정의해야합니다.

그게 내가 한 짓이고 그것은 나를 위해 작동합니다. MySQL과 Delphi를 DBGrid와 함께 사용하고 있습니다.