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

StatementReadOnly Method

Previous pageReturn to chapter overviewNext page

描述

 

如果且仅当准备好的语句X不直接更改数据库文件的内容时,StatementReadonly方法返回true(非零)。

 

PB语法

 

METHOD StatementReadOnly () AS LONG

 

参数

 

该方法没有参数。

 

返回值

 

对或错。

 

备注

 

请注意,应用程序定义的SQL函数或虚拟表可能会以副作用间接更改数据库。例如,如果应用程序定义了调用EXEC的函数“eval()”,则以下SQL语句将通过副作用更改数据库文件:

 

SELECT eval('DELETE FROM t1')FROM t2;

 

但是由于SELECT语句不会直接更改数据库文件,所以Statementreadonly仍将返回true。

 

事务控制语句(如BEGIN,COMMIT,ROLLBACK,SAVEPOINT和RELEASE)导致Statementreadonly返回true,因为语句本身并不实际修改数据库,而是控制其他语句修改数据库的时间。ATTACH和DETACH语句还会导致Statementreadonly返回true,因为这些语句更改了数据库连接的配置,它们不会更改磁盘上数据库文件的内容。