我使用LibreOffice Base(6.1)创建了一个PostgreSQL连接文件,我可以在那里运行SQL查询,但我想知道是否可以在LibreOffice BASIC函数中使用此Base连接。
我知道你可以使用MySQL的JDBC连接
mysql://hostname:port/database_name
但我希望有一种方法可以使用基本文件,因为它工作得很好
我一直试图在网上找到这方面的文档,但我正在努力找到弥合BASIC和Base之间差距的任何东西。
我找到了答案,解决方案是使用createUnoService,并允许您指定在Base中设置的odb的名称。
oService = createUnoService("com.sun.star.sdb.DatabaseContext")
oBase = oService.getByName("basePostgreSQL")
oConn = oBase.getConnection("","")
oQuery = oConn.createStatement()
oSql = "select col from table"
oResult = oQuery.executeQuery(oSql)
while oResult.next()
msgBox oResult.getString(1)
wend
oConn.close()