blob: d4cd6299acde9c32fb2247fb070980ddf3362001 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="dbaccess_ORowSet" script:language="StarBasic">
'*************************************************************************
'
' Licensed to the Apache Software Foundation (ASF) under one
' or more contributor license agreements. See the NOTICE file
' distributed with this work for additional information
' regarding copyright ownership. The ASF licenses this file
' to you under the Apache License, Version 2.0 (the
' "License"); you may not use this file except in compliance
' with the License. You may obtain a copy of the License at
'
' http://www.apache.org/licenses/LICENSE-2.0
'
' Unless required by applicable law or agreed to in writing,
' software distributed under the License is distributed on an
' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
' KIND, either express or implied. See the License for the
' specific language governing permissions and limitations
' under the 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
</script:module>