delphi中的sqlite3_open_v2标志

时间:2015-03-05 13:58:15

标签: delphi sqlite

我刚学习编程(Delphi)。 今天我用MinGW推出了Sqlite3.dll(基于sqlite 3.8.6的sqlcipher 3.2.0)。

现在我尝试制作程序:

sqlite3_open_v2(dbname,dbhandle,flags,vfx); 

我希望使用nomutex在读/写模式下打开连接。

在文档中我看到:

  

sqlite3_open_v2()接口的作用类似于sqlite3_open(),除了它接受两个附加参数以进一步控制新数据库连接。 sqlite3_open_v2()的flags参数可以采用以下三个值之一,可选择与SQLITE_OPEN_NOMUTEX,SQLITE_OPEN_FULLMUTEX,SQLITE_OPEN_SHAREDCACHE,SQLITE_OPEN_PRIVATECACHE和/或SQLITE_OPEN_URI标志组合使用:

     

SQLITE_OPEN_READONLY   数据库以只读模式打开。如果数据库尚不存在,则返回错误。   SQLITE_OPEN_READWRITE   如果可能,将打开数据库以进行读写,或仅在文件受操作系统写保护时才读取数据库。在任何一种情况下,数据库必须已经存在,否则返回错误。

     

SQLITE_OPEN_READWRITE 0x00000002   SQLITE_OPEN_NOMUTEX 0x00008000

为什么这个结构不起作用(不能打开db):

sqlite3_open_v2(dbname,dbhandle,$00000002 and $00008000 ,nil); 

但这项建设工作:

sqlite3_open_v2(dbname,dbhandle,$00000002 or $00008000 ,nil); 

我可以添加两个标志00000002 + 00008000 = 00008002吗?

0 个答案:

没有答案