'************************************************************************* ' ' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ' ' Copyright 2008 by Sun Microsystems, Inc. ' ' OpenOffice.org - a multi-platform office productivity suite ' ' $RCSfile: dbaccess_ORowSet.xba,v $ ' ' $Revision: 1.6 $ ' ' This file is part of OpenOffice.org. ' ' OpenOffice.org is free software: you can redistribute it and/or modify ' it under the terms of the GNU Lesser General Public License version 3 ' only, as published by the Free Software Foundation. ' ' OpenOffice.org is distributed in the hope that it will be useful, ' but WITHOUT ANY WARRANTY; without even the implied warranty of ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ' GNU Lesser General Public License version 3 for more details ' (a copy is included in the LICENSE file that accompanied this code). ' ' You should have received a copy of the GNU Lesser General Public License ' version 3 along with OpenOffice.org. If not, see ' ' for a copy of the LGPLv3 License. ' '************************************************************************* '************************************************************************* ' Be sure that all variables are dimensioned: option explicit ' REQUIRED VARIABLES for interface/service tests: ' Required for com.sun.star.lang.XComponent: Global oComponentInstance As Object ' it will be disposed ' Required for com.sun.star.sdbc.XColumnLocate: Global cExistantColumnName As String ' Required for com.sun.star.sdbc.XResultSet Global cXResultSetFirstRecord as String Global cXResultSetLastRecord as String Global cXResultSetRecord1 as String Global cXResultSetRecord2 as String Global cXResultSet2BeforeLastRecord as String ' Required for com.sun.star.sdbc.XParameters Global paramTypes as Variant ' Required for com.sun.star.sdbc.XRow and com.sun.star.sdbc.XRowUpdate Global rowTypes as Variant Global rowTypesCol as Variant ' Required for com.sun.star.sdbc.XResultSetUpdate Global textColumn As String Global oConnection As Object Sub CreateObj() '************************************************************************* ' COMPONENT: ' dbaccess.ORowSet '************************************************************************* On Error Goto ErrHndl Dim oRowSet As Object, facc As Object, dbSource As Object Dim srcFile As String, dstFile As String, dbSrcURL As String ' Copying DB file to temp location srcFile = utils.Path2URL(cTestDocsDir) + "TestDB/testDB.dbf" dstFile = utils.getTempFileURL("TestDB.dbf") dbSrcURL = "sdbc:dbase:" + utils.StrReplace(dstFile, "/testDB.dbf", "") facc = createUnoService("com.sun.star.ucb.SimpleFileAccess") if not facc.exists(srcFile) then Out.log("could not find source of testDB.dbf: " + srcFile) end if if (facc.exists(dstFile)) then facc.kill(dstFile) facc.copy(srcFile, dstFile) dbtools.RegisterDataSource("DBTest", dbSrcURL) oRowSet = createUnoService("com.sun.star.sdb.RowSet") oRowSet.DataSourceName = "DBTest" oRowSet.Command = "TestDB" oRowSet.CommandType = com.sun.star.sdb.CommandType.TABLE oRowSet.execute() wait(200) oConnection = oRowSet.ActiveConnection if NOT isObject(oConnection) then Out.Log("oConnection wasn't retrieved properly !!!") end if oRowSet.first() Out.Log("The first record has: '" + oRowSet.getString(1) + "'") oObj = oRowSet oComponentInstance = createUnoService("com.sun.star.sdb.RowSet") cExistantColumnName = "_TEXT" cXResultSetFirstRecord = "text1" cXResultSetLastRecord = "text3" cXResultSetRecord1 = "text1" cXResultSetRecord2 = "text2" cXResultSet2BeforeLastRecord = "text2" paramTypes = DimArray() ' paramTypes = Array("boolean", "byte", "short", "int", "long", "float", "double", "string", _ ' "bytes", "date", "time", "timestamp", "binarystream", "characterstream", "object", _ ' "ref", "blob", "clob", "array") ' Dim dat As new com.sun.star.util.Date ' Dim tim As new com.sun.star.util.Time ' Dim datTim As new com.sun.star.util.DateTime ' dat.Year = 2001 ' dat.Month = 1 ' dat.Day = 1 ' tim.Hours = 1 ' tim.Minutes = 1 ' tim.Seconds = 1 ' paramVal = Array(true, 11, 11, 111, NULL, 1.1, 11.11, "text1", NULL, dat, tim, NULL, NULL, NULL, NULL, ' NULL, NULL, NULL, NULL) ' for XRow and XRowUpdate rowTypes = Array("string", "int", "long", "double", "float", "date", "datetm", "boolean") rowTypesCol = Array(1, 2, 3, 4, 5, 6, 7, 9) ' rowTypes = Array("boolean", "byte", "short", "int", "long", "float", "double", "string", _ ' "bytes", "date", "time", "timestamp", "binarystream", "characterstream", "object", _ ' "numericobject") ' Required for com.sun.star.sdbc.XResultSetUpdate textColumn = "_TEXT" Exit Sub ErrHndl: Test.Exception() End Sub Sub DisposeObj() On Error Goto ErrHndl Out.Log("Closing DB connection ...") oConnection.close() Out.Log("Revoking 'DBTest' datasource ...") dbtools.RevokeDB("DBTest") Exit Sub ErrHndl: Test.Exception() resume next End Sub