Am Freitag, den 12.02.2010, 15:42 +0100 schrieb Fernand Vanrie:
> Marc,

I'm another one, but maybe I can give a little help. ;)

> Its even worse ,after further investigation i found no code (API  + 
> basic) to run a stored procedure with parameters.
> So I would be very happy i someone could give a hint :-)

Since stored procedures behave much like any other database object, like
tables, views and the like, I think a stored proc can be used just like
those.

What I have to offer is some snippets from an old testing program I
wrote once firing a prepared statement at a database. Maybe it helps you
and others to get the idea, and please report back if that technique can
be used for starting stored procedures:

<BASIC>

'... get a database context object and make a connection ...

sSQL = "UPDATE " & sTableName & " SET"
'... calculate some names ...
sSQL = sSQL & " WHERE " & colnames(keycolumn) & "= ?"

' get a prepared statement from the connection
oPst = oCon.prepareStatement(sSQL)

' set the parameter value(s) like the columns at any Statement
oPst.setInt(0, 42)
' ...

' this assumes no return value, I *think* for getting
' something back ExecuteSQL() has to be used
oPst.ExecuteUpdate()

</BASIC>

I have no idea if and how native sql mode is involved or influencing
here.

HTH and have fun,
Marc

> thanks for any help
> 
> Fernand
> >> you told : "That makes, in consequence, stored procedures unusable with
> >> OpenOffice base".
> >>     
> >
> > Well, I probably need to refine that a bit, indeed:  It makes stored
> > procedures unusable in OpenOffice base using the query editor.
> >
> >   
> >> This is countrary to what the DEV guide tells us ????
> >>
> >> Stored procedures are server-side processes execute several SQL commands
> >> in a single step, and can be embedded in a server language for stored
> >> procedures with enhanced control capabilities. A procedure call usually
> >> has to be parameterized, and the results are result sets and additional
> >> out parameters. Stored procedures are handled by the method
> >> |prepareCall()| of the interface com.sun.star.sdbc.XConnection
> >> <http://api.openoffice.org/docs/common/ref/com/sun/star/sdbc/XConnection.html>.
> >>
> >>
> >> com::sun::star::sdbc::XPreparedStatement prepareCall( [in] string sql)
> >>
> >> The method |prepareCall()| takes a an SQL statement that may contain one
> >> or more '|?|' in parameter placeholders. It returns a
> >> com.sun.star.sdbc.CallableStatement
> >> <http://api.openoffice.org/docs/common/ref/com/sun/star/sdbc/CallableStatement.html>.
> >> A |CallableStatement| is a com.sun.star.sdbcx.PreparedStatement
> >> <http://api.openoffice.org/docs/common/ref/com/sun/star/sdbcx/PreparedStatement.html>
> >> with two additional interfaces for out parameters:
> >>
> >> com.sun.star.sdbc.XOutParameters
> >> <http://api.openoffice.org/docs/common/ref/com/sun/star/sdbc/XOutParameters.html>
> >> is used to declare parameters as out parameters. All out parameters must
> >> be registered before a stored procedure is executed.
> >>
> >>
> >> greetz
> >>
> >> Fernand
> >>     



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@dba.openoffice.org
For additional commands, e-mail: dev-h...@dba.openoffice.org

Reply via email to