1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27#ifndef __com_sun_star_sdbc_XPreparedStatement_idl__
28#define __com_sun_star_sdbc_XPreparedStatement_idl__
29
30#ifndef __com_sun_star_uno_XInterface_idl__
31#include <com/sun/star/uno/XInterface.idl>
32#endif
33
34#ifndef __com_sun_star_sdbc_SQLException_idl__
35#include <com/sun/star/sdbc/SQLException.idl>
36#endif
37
38 module com {  module sun {  module star {  module sdbc {
39
40 published interface XConnection;
41 published interface XResultSet;
42
43
44/** provides the possibilty of executing a precompiled SQL statement.
45
46
47	<p>
48	A SQL statement is pre-compiled and stored in a PreparedStatement object.
49	This object can then be used to efficiently execute this statement multiple
50	times.
51	</p>
52 */
53published interface XPreparedStatement: com::sun::star::uno::XInterface
54{
55
56	/** executes the SQL query in this
57		<code>PreparedStatement</code>
58		object and returns the result set generated by the query.
59		@returns
60			the ResultSet object
61		@throws SQLException
62			if a database access error occurs.
63	 */
64	XResultSet executeQuery() raises (SQLException);
65	//-------------------------------------------------------------------------
66
67	/** executes the SQL INSERT, UPDATE or DELETE statement in this
68		<type scope="com::sun::star::sdbc">PreparedStatement</type>
69		object.
70		<br/>
71		In addition, SQL statements that return nothing, such as
72		SQL DDL statements, can be executed.
73		@returns
74			either the row count for INSERT, UPDATE or DELETE statements; or 0 for SQL statements that return nothing
75		@throws SQLException
76			if a database access error occurs.
77	 */
78	long executeUpdate() raises (SQLException);
79	//-------------------------------------------------------------------------
80
81	/** executes any kind of SQL statement.
82
83
84		<p>
85		Some prepared statements return multiple results; the execute
86		method handles these complex statements as well as the simpler
87		form of statements handled by executeQuery and executeUpdate.
88		</p>
89		@returns
90			<TRUE/> if successful
91		@throws SQLException
92			if a database access error occurs.
93	 */
94	boolean execute() raises (SQLException);
95	//-------------------------------------------------------------------------
96
97	/** returns the
98		<type scope="com::sun::star::sdbc">Connection</type>
99		object
100		that produced this
101		<type scope="com::sun::star::sdbc">Statement</type>
102		object.
103		@returns
104			the Connection object
105		@throws SQLException
106			if a database access error occurs.
107	 */
108	XConnection getConnection() raises (SQLException);
109};
110
111//=============================================================================
112
113}; }; }; };
114
115/*===========================================================================
116===========================================================================*/
117#endif
118