勇芳软件工作室.汉化:  CSQLite Classes > CSQLiteConnection Class > ISQLiteConnection Interface >

OpenDatabase2 Method

Previous pageReturn to chapter overviewNext page

描述

 

打开由filename参数指定的SQLite数据库文件。

 

PB语法

 

METHOD OpenDatabase2 ( _

BYVAL strFileName AS STRING, _

BYVAL flags AS LONG, _

OPTIONAL BYREF szVfs AS ASCIIZ _

) AS LONG

 

参数

 

strFileName

 

[in]数据库文件名。

 

flags

 

[in]以下三个值之一,可选地与SQLITE_OPEN_NOMUTEX,SQLITE_OPEN_FULLMUTEX,SQLITE_OPEN_SHAREDCACHE,SQLITE_OPEN_PRIVATECACHE和/或SQLITE_OPEN_URI标志相结合:

 

SQLITE_OPEN_READONLY

数据库以只读模式打开。如果数据库不存在,则返回错误。

 

SQLITE_OPEN_READWRITE

如果可能,打开数据库进行读取和写入,或者仅在文件由操作系统进行写保护时才读取。在这两种情况下,数据库必须已经存在,否则返回错误。

 

SQLITE_OPEN_READWRITE OR SQLITE_OPEN_CREATE

打开数据库进行阅读和写入,如果数据库不存在,则会创建该数据库。这是OpenDatabaseOpenDatabaseW始终使用的行为。

 

如果该值不是上面显示的组合之一,可选地与其他SQLITE_OPEN_*位组合,则行为是未定义的。

 

如果设置了SQLITE_OPEN_NOMUTEX标志,那么只要在编译时或启动时尚未设置单线程模式,数据库连接将以多线程线程模式打开。如果设置了SQLITE_OPEN_FULLMUTEX标志,则数据库连接以序列化线程模式打开,除非先前在编译时或开始时选择单线程。无论使用EnableSharedCache是否启用共享缓存,SQLITE_OPEN_SHAREDCACHE标志都会使数据库连接符合资格使用共享缓存模式。即使启用了SQLITE_OPEN_PRIVATECACHE标志,数据库连接也不会参与共享高速缓存模式。

 

szVfs

 

[in]定义新数据库连接应使用的操作系统功能的sqlite3_vfs对象的名称。如果此参数是空指针,则使用默认的sqlite3_vfs对象。

 

返回值

 

如果成功返回SQLITE_OK,否则返回错误代码。ErrMsgErrMsgW功能可用于在OpenDatabase2方法失败后获取错误的英文描述。

 

备注

 

如果文件名为“:memory:”,则会为该连接创建一个专用的临时内存数据库。当数据库连接关闭时,该内存中的数据库将会消失。SQLite的未来版本可能会使用以“:”字符开头的其他特殊文件名。建议当数据库文件名实际上以“:”字符开头时,您应该使用诸如“./”之类的路径名在文件名前缀,以避免歧义。

 

如果文件名为空字符串,则将创建一个私有的临时磁盘数据库。数据库连接关闭后,该私有数据库将被自动删除。

 

Windows用户注意

 

用于文件名参数OpenDatabase2的编码必须是UTF-8,而不是当前定义的任何代码页。包含国际字符的文件名必须先转换为UTF-8,才能将其传递到OpenDatabase2.