_SQLite_Open
Открывает/создает базу данных SQLite
#include <SQLite.au3>
_SQLite_Open([$sDatabase_Filename = ":memory:" [, $iAccessMode [, $iEncoding]]])
Параметры
$sDatabase_Filename | [необязательный] Файл базы данных, по умолчанию будет открыта базы данных в памяти. |
$iAccessMode | [необязательный] Флаги режим доступа. По умолчанию $SQLITE_OPEN_READWRITE + $SQLITE_OPEN_CREATE |
$iEncoding | [необязательный] Флаг режима кодировки, используется только во время создания. По умолчанию $SQLITE_ENCODING_UTF8 |
Возвращаемое значение
Успех: | Возвращает дескриптор базы данных. |
Ошибка: | Возвращает 0. |
@error: | -1 - SQLite сообщил об ошибке (Проверьте значение @extended) |
1 - Ошибка вызова 'sqlite3_open_v2' SQLite API | |
2 - Ошибка преобразования имени файла в UTF-8 | |
3 - _SQLite_Startup ещё не вызывался | |
@extended: | Возвращаемое значение можно сравнить с константами $SQLITE_ * |
Примечания
Нет необходимости хранить дескриптор базы данных, кроме случая, если необходимо иметь несколько открытых баз данных одновременно.См. также
_SQLite_CloseПример
#include <SQLite.au3>
#include <SQLite.dll.au3>
_SQLite_Startup()
If @error Then
MsgBox(16, "Ошибка SQLite", "Не удалось загрузить SQLite3.dll")
Exit -1
EndIf
ConsoleWrite("Версия библиотеки SQLite = " & _SQLite_LibVersion() & @CRLF)
_SQLite_Open() ; создает базу данных в памяти и не использует дескриптор для ссылки на неё
If @error Then
MsgBox(16, "Ошибка SQLite", "Не удалось создать базу данных в памяти!!")
Exit -1
EndIf
_SQLite_Close()
Local $hMemDb = _SQLite_Open() ; создает базу данных в памяти
If @error Then
MsgBox(16, "Ошибка SQLite", "Не удалось создать базу данных в памяти!")
Exit -1
EndIf
Local $hTmpDb = _SQLite_Open('') ; создает временную базу данных на диске
If @error Then
MsgBox(16, "Ошибка SQLite", "Не удалось создать временную базу данных на диске!")
Exit -1
EndIf
Local $sDbName = _TempFile()
Local $hDskDb = _SQLite_Open($sDbName) ; открывает постоянную базу данных на диске
If @error Then
MsgBox(16, "Ошибка SQLite", "Не удалось открыть постоянную базу данных на диске!")
Exit -1
EndIf
; вы можете использовать 3 базы данных по мере необходимости, ссылаясь на их дескрипторы
; закрывает созданные нами базы данных, порядок не важен
_SQLite_Close($hTmpDb) ; временная база данных будет удалена автоматически при закрытии
_SQLite_Close($hDskDb) ; база данных в обычном файле может быть открыта позже
_SQLite_Close($hMemDb)
; удаляет созданный файл базы данных
FileDelete($sDbName)
_SQLite_Shutdown()