blob: 103d53837f5be0801b3504ff75dd86f00ce96fe3 [file] [log] [blame]
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>No title</title>
<meta name="generator" content="amaya 8.1b, see http://www.w3.org/Amaya/" />
</head>
<body>
<h3>A sample OpenOffice basic program to write records to the Bibliographic
database.</h3>
<p></p>
<p>REM ***** BASIC *****</p>
<p></p>
<p>Option Explicit</p>
<p></p>
<p>Sub Main</p>
<p>' create a row set</p>
<p>Dim oRowSet as Object</p>
<p>oRowSet = createUnoService( "com.sun.star.sdb.RowSet" )</p>
<p></p>
<p>' tell it to operate on the Bibliography/biblio table</p>
<p>oRowSet.DataSourceName = "Bibliography"</p>
<p>oRowSet.Command = "biblio"</p>
<p>oRowSet.CommandType = com.sun.star.sdb.CommandType.TABLE</p>
<p></p>
<p>' since we want to insert new records only, we</p>
<p>' can optimize the set so that it does not care for</p>
<p>' already existing data</p>
<p>oRowSet.IgnoreResult = TRUE</p>
<p></p>
<p>' fire</p>
<p>oRowSet.execute</p>
<p></p>
<p>' let's insert the following data</p>
<p>Dim sTitles(4) as String</p>
<p>sTitles(0) = "The Hitchhiker's Guide to the Galaxy"</p>
<p>sTitles(1) = "The Restaurant at the End of the Universe"</p>
<p>sTitles(2) = "Life, the Universe and Everything"</p>
<p>sTitles(3) = "So Long, and Thanks for All the Fish"</p>
<p>sTitles(4) = "Mostly Harmless"</p>
<p></p>
<p>' for optimizations, we retrieve the column objects only once,</p>
<p>' and reuse them in every iteration</p>
<p>Dim colIdentifier as Object</p>
<p>Dim colTitle as Object</p>
<p>Dim colType as Object</p>
<p>Dim colAuthor as Object</p>
<p></p>
<p>colIdentifier = oRowSet.getColumns().getByName( "Identifier" )</p>
<p>colTitle = oRowSet.getColumns().getByName( "Title" )</p>
<p>colType = oRowSet.getColumns().getByName( "Type" )</p>
<p>colAuthor = oRowSet.getColumns().getByName( "Author" )</p>
<p></p>
<p>' now let's really insert the data</p>
<p>Dim i as Integer</p>
<p>For i = LBound( sTitles() ) To UBound( sTitles() )</p>
<p>' move the row set to the row dedicated to inserting data</p>
<p>oRowSet.moveToInsertRow()</p>
<p>' fill the column values</p>
<p>colIdentifier.updateString( "ADAMS" &amp; ( i + 1 ) )</p>
<p>colTitle.updateString ( sTitles( i ) )</p>
<p>colType.updateString ( "1" )</p>
<p>colAuthor.updateString ( "Douglas Adams" )</p>
<p>' (note: everything which we do not change here will be</p>
<p>' defaulted by the underlying database, if possible)</p>
<p>' write the new record</p>
<p>oRowSet.insertRow</p>
<p>Next i</p>
<p></p>
<p>' finally clean up</p>
<p>oRowSet.dispose</p>
<p>End Sub</p>
</body>
</html>