A sample OpenOffice basic program to write records to the Bibliographic database.
REM ***** BASIC *****
Option Explicit
Sub Main
' create a row set
Dim oRowSet as Object
oRowSet = createUnoService( "com.sun.star.sdb.RowSet" )
' tell it to operate on the Bibliography/biblio table
oRowSet.DataSourceName = "Bibliography"
oRowSet.Command = "biblio"
oRowSet.CommandType = com.sun.star.sdb.CommandType.TABLE
' since we want to insert new records only, we
' can optimize the set so that it does not care for
' already existing data
oRowSet.IgnoreResult = TRUE
' fire
oRowSet.execute
' let's insert the following data
Dim sTitles(4) as String
sTitles(0) = "The Hitchhiker's Guide to the Galaxy"
sTitles(1) = "The Restaurant at the End of the Universe"
sTitles(2) = "Life, the Universe and Everything"
sTitles(3) = "So Long, and Thanks for All the Fish"
sTitles(4) = "Mostly Harmless"
' for optimizations, we retrieve the column objects only once,
' and reuse them in every iteration
Dim colIdentifier as Object
Dim colTitle as Object
Dim colType as Object
Dim colAuthor as Object
colIdentifier = oRowSet.getColumns().getByName( "Identifier" )
colTitle = oRowSet.getColumns().getByName( "Title" )
colType = oRowSet.getColumns().getByName( "Type" )
colAuthor = oRowSet.getColumns().getByName( "Author" )
' now let's really insert the data
Dim i as Integer
For i = LBound( sTitles() ) To UBound( sTitles() )
' move the row set to the row dedicated to inserting data
oRowSet.moveToInsertRow()
' fill the column values
colIdentifier.updateString( "ADAMS" & ( i + 1 ) )
colTitle.updateString ( sTitles( i ) )
colType.updateString ( "1" )
colAuthor.updateString ( "Douglas Adams" )
' (note: everything which we do not change here will be
' defaulted by the underlying database, if possible)
' write the new record
oRowSet.insertRow
Next i
' finally clean up
oRowSet.dispose
End Sub