我正在做一个IPAD 项目。该项目有2个sqlite数据库。第一个是 customer.sqlite,第二个是 address.sqlite。
Customer.sqlite 随应用程序一起提供,每次启动应用程序时都会从服务器下载 address.sqlite。一切正常。
我在这里的问题是,我可以使用 Objective-C 对位于 2 个不同数据库中的 2 个表进行联接吗?
我可以使用 sqlite3_open(filename, sqliteconnection) 打开到单个数据库的连接,如何将另一个数据库附加到同一连接?那可能吗??
Thanks
苏雷什·库马尔·纳拉亚纳萨米
好的找到答案了。下面是示例代码
sqlite3 *_myLocalConnection;
if (sqlite3_open([["Your First DB file path"] UTF8String], &_myLocalConnection) == SQLITE_OK)
{
NSString *strSQLAttach = [NSString stringWithFormat:@"ATTACH DATABASE \'%s\' AS SECOND", [["Your second db file path"] UTF8String] ];
char *errorMessage;
if (sqlite3_exec(_myLocalConnection, [strSQLAttach UTF8String], NULL, NULL, &errorMessage) == SQLITE_OK)
{
sqlite3_stmt *myStatment;
NSString *strSQL = @"select * from SECOND.ADDRESS myAddress inner join main.CUSTTOMER myCustomer on myAddress.CustomerID = myCustomer.customerID ";
if (sqlite3_prepare_v2(_myLocalConnection, [strSQL UTF8String], -1, &myStatment, nil) == SQLITE_OK)
//do your loop logic
else
NSLog(@"Error while attaching '%s'", sqlite3_errmsg(_myLocalConnection));
}
}
Thanks
苏雷什·库马尔·纳拉亚纳萨米
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)