- DatabaseOpen
- DatabaseClose
- DatabaseImport
- DatabaseExport
- DatabasePrint
- DatabaseTableExists
- DatabaseExecute
- DatabasePrepare
- DatabaseReset
- DatabaseBind
- DatabaseBindArray
- DatabaseRead
- DatabaseReadBind
- DatabaseFinalize
- DatabaseTransactionBegin
- DatabaseTransactionCommit
- DatabaseTransactionRollback
- DatabaseColumnsCount
- DatabaseColumnName
- DatabaseColumnType
- DatabaseColumnSize
- DatabaseColumnText
- DatabaseColumnInteger
- DatabaseColumnLong
- DatabaseColumnDouble
- DatabaseColumnBlob
DatabaseImport
데이터를 파일에서 테이블로 가져오기.
long DatabaseImport(
|
매개변수
database
[in] DatabaseOpen()로 수신된 데이터베이스 핸들.
table
[in] 파일의 데이터를 추가할 테이블의 이름.
filename
[in] 데이터를 읽기 위한 CSV 파일 또는 ZIP 아카이브. 이름은 하위 디렉토리를 포함할 수 있으며 MQL5\Files 폴더를 기준으로 설정됩니다.
flags
[in] 플래그의 조합 ENUM_DATABASE_IMPORT_FLAGS 열거형에서.
separator
[in] CSV 파일의 데이터 분리자.
skip_rows
[in] 파일에서 데이터를 읽을 때 건너뛸 초기 문자열 수.
skip_comments
[in] 문자열을 코멘트로 지정하기 위한 문자열. 문자열 시작 부분에서 skip_comments의 문자가 감지되면 면 이러한 문자열은 주석으로 간주되며 가져오지 않습니다.
반환 값
가져온 문자열의 수를 반환하거나 오류 발생 시 -1을 반환. 오류 코드를 가져오려면 GetLastError()를 사용해야 하며, 가능한 응답은 다음과 같습니다:
- ERR_INVALID_PARAMETER (4003) – 테이블 이름이 지정되지 않음 (빈 문자열 또는 NULL);
- ERR_DATABASE_INTERNAL (5120) – 내부 데이터베이스 오류;
- ERR_DATABASE_INVALID_HANDLE (5121) - 유효하지 않은 데이터베이스 핸들.
ID |
설명 |
---|---|
DATABASE_IMPORT_HEADER |
첫 번째 줄에는 테이블 필드의 이름이 포함됩니다. |
DATABASE_IMPORT_CRLF |
CRLF (디폴트는 LF)는 문자열 나누기로 간주됩니다 |
DATABASE_IMPORT_APPEND |
현재 테이블 끝에 데이터를 추가합니다 |
DATABASE_IMPORT_QUOTED_STRINGS |
큰따옴표로 묶인 문자열 값 |
DATABASE_IMPORT_COMMON_FOLDER |
파일은 모든 클라이언트 터미널의 \Terminal\Common\File의 공통 폴더에 저장됩니다. |
DatabaseExport 예시 코드로 부터 생성된 파일에서 테이블을 읽는 예:
/+------------------------------------------------------------------+
|
참고
테이블 이름이 지정된 테이블이 없으면 자동으로 생성됩니다. 생성된 테이블의 이름 및 필드 유형은 파일 데이터를 기반으로 자동으로 정의됩니다.
추가 참조