2011-10-21 5 views
0

Delphi를 사용하여 MS ACCESS 데이터베이스 테이블에 탭 구분 텍스트 파일을로드하는 중 일부 문제가 있습니다.Delphi를 사용하여 MS ACCESS TABLE에 텍스트 파일로드

지금까지 나는 새 Access 데이터베이스 및 테이블을 생성 할 수 있었다 왔지만 내가 노력하고 내가 메세지를 EOLeException를 얻을 수있는 데이터를로드 할 때 :

'INSERT INTO 문은 다음 알 수없는 필드 이름을 포함합니다 : 다음과 같이 'FIELD1_FIELD2_FIELD3 _...'

내 코드는 다음과 같습니다

하지만 난 그것을 함께 할 수있다 생각하는 문제가 무엇인지
cs := 'insert into TABLENAME(FIELD1, FIELD2, FIELD3, FIELD4, FIELD5, FIELD6, FIELD7,  FIELD8, FIELD9, FIELD10, FIELD11, FIELD12, FIELD13, FIELD14, FIELD15) select * from [FILENAME.txt] in "' + EditJobLocation.Text + '" "Text;HDR=Yes"'; 
ADOCommand2.CommandText := cs; 
try 
    ADOCommand2.Execute; 
etc... 

확실하지 하나 밑줄 모든 필드를 반환 부분 '*을 선택' 구분 된 문자열.

저는 답변을 찾으려고 노력하고 있지만 아직 아무것도 찾지 못했습니다.

도움을 주시면 감사하겠습니다.

+0

"선택 *"문제가있는 경우 분명한 질문이 있습니다. "select field1, field2, ..."대신 이미 시도한 적이 있습니까? –

+1

처음 2-3 행에서 FILENAME.txt의 내용을 조사하지 않으면 도움이되지 않습니다. –

답변

0

제안 : 부분 만 남기고 insert 부분을 제거해보세요. 예 :

cs := 'select * from [FILENAME.txt] in "' + EditJobLocation.Text + '" "Text;HDR=Yes"'; 

이 수정 된 SQL 문을 사용하여 레코드 세트 개체를 엽니 다. 성공하면 레코드 세트의 Fields 컬렉션을 검사합니다. 즉, 반환 된 열의 수, 이름, 서수 위치 등을 확인합니다.

문제가 텍스트 파일에서 데이터를 가져 오는 지 또는 삽입 작업.

p.s. 이미 액세스하는 경우 schema.ini 파일을 사용하여 Access에서 텍스트 파일의 데이터를 열과 해당 데이터 형식으로 보는 방식을보다 잘 제어 할 수 있습니다.

관련 문제