使用
SQLConnection.attach()
方法,在已具有打开的数据库的
SQLConnection
实例上打开到其他数据库的连接。在
attach()
方法调用中,使用 name 参数为附加的数据库提供一个名称。在编写语句操作该数据库时,可以在前缀中使用该名称(使用格式
database-name.table-name
)在 SQL 语句中限定任何表名,指示运行时可以在指定的数据库中找到该表。
可以执行包括多个数据库中的表的单个 SQL 语句,这些数据库连接到同一 SQLConnection 实例。如果事务是在 SQLConnection 实例上创建的,则该事务适用于使用 SQLConnection 实例执行的所有 SQL 语句。不管语句运行在哪个附加的数据库上,这一点都适用。
或者,也可以在一个应用程序中创建多个 SQLConnection 实例,其中每个实例都连接到一个或多个数据库。但是,如果确实使用到同一数据库的多个连接,请牢记数据库事务不是跨 SQLConnection 实例共享的。因此,如果使用多个 SQLConnection 实例连接到同一数据库文件,则不能指望以预期方式应用这两个连接的数据更改。例如,如果通过不同的 SQLConnection 实例对同一数据库运行两个
UPDATE
或
DELETE
语句,并且在一个操作发生后出现应用程序错误,则数据库数据可能处于不可逆的中间状态,而且可能影响数据库的完整性(进而影响应用程序)。
|
|
|