- 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
DatabaseOpen
지정된 파일에 데이터베이스를 열거나 생성.
int DatabaseOpen(
|
매개변수
filename
[in] "MQL5\Files" 폴더에 상대적인 파일 이름.
flags
[in] ENUM_DATABASE_OPEN_FLAGS 열거의 플래그 조합.
반환 값
성공적으로 실행되면 함수는 데이터베이스 핸들을 반환하고 이 핸들을 데이터베이스에 액세스하는 데 사용합니다. 그렇지 않으면 INVALID_HANDLE을 반환합니다. 오류 코드를 가져오려면 GetLastError()를 사용해야 하며, 가능한 응답은 다음과 같습니다:
- ERR_INTERNAL_ERROR (4001) – 심각한 런타임 오류;
- ERR_WRONG_INTERNAL_PARAMETER (4002) - "MQL5\Files" 폴더에 액세스 하는 도중 내부 오류;
- ERR_INVALID_PARAMETER (4003) – 데이터베이스 파일의 경로에 빈 문자열이 포함되어 있거나 호환되지 않는 플래그 조합이 설정;
- ERR_NOT_ENOUGH_MEMORY (4004) - 충분하지 않은 메모리;
- ERR_WRONG_FILENAME (5002) - 잘못된 데이터베이스 파일 이름;
- ERR_TOO_LONG_FILENAME (5003) - 데이터베이스 파일의 절대 경로가 최대 길이를 초과;
- ERR_DATABASE_TOO_MANY_OBJECTS (5122) - 허용되는 최대 데이터베이스 개체 수를 초과;
- ERR_DATABASE_CONNECT (5123) - 데이터베이스 연결 오류;
- ERR_DATABASE_MISUSE (5621) - 잘못된 SQLite 라이브러리 사용.
참고
파일명 매개변수에 NULL 또는 빈 문자열 ""이 있으면 디스크에 임시 파일이 생성됩니다. 데이터베이스 연결을 닫은 후 자동으로 삭제됩니다.
파일명 매개변수가 ":memory:"인 경우 데이터베이스는 메모리에 생성되고 연결이 닫히면 자동으로 삭제됩니다.
플래그 매개변수에 DATABASE_OPEN_READONLY 또는 DATABASE_OPEN_READWRITE 플래그가 없는 경우 DATABASE_OPEN_READWRITE 플래그가 사용됩니다.
파일 확장명을 지정하지 않으면 ".sqlite"가 사용됩니다.
ID |
설명 |
---|---|
DATABASE_OPEN_READONLY |
읽기 전용 |
DATABASE_OPEN_READWRITE |
읽기 및 쓰기 위한 열기 |
DATABASE_OPEN_CREATE |
필요한 경우 디스크에 파일 생성 |
DATABASE_OPEN_MEMORY |
RAM에 데이터베이스 생성 |
DATABASE_OPEN_COMMON |
파일은 모든 터미널 공통 폴더에 있습니다 |
추가 참조