/sqlite3cc

To get this branch, use:
bzr branch http://bzr.ed.am/sqlite3cc
1 by edam
- initial commit
1
/*
2
 * database.hpp
3
 *
4
 * Copyright (C) 2009 Tim Marston <edam@waxworlds.org>
5
 *
6
 * This file is part of sqlitepp (hereafter referred to as "this program").
7
 * See http://www.waxworlds.org/edam/software/sqlitepp for more information.
8
 *
9
 * This program is free software: you can redistribute it and/or modify
10
 * it under the terms of the GNU Lesser General Public License as published
11
 * by the Free Software Foundation, either version 3 of the License, or
12
 * (at your option) any later version.
13
 *
14
 * This program is distributed in the hope that it will be useful,
15
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
 * GNU Lesser General Public License for more details.
18
 *
19
 * You should have received a copy of the GNU Lesser General Public License
20
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
21
 */
22
23
#ifndef COMMAND_HPP_
24
#define COMMAND_HPP_
25
26
27
#include "statement.hpp"
28
29
30
namespace sqlite
31
{
32
33
34
/**
35
 * The command class represents an SQL command. Since there is very little
36
 * difference between a command an a statement, it is basically a shim around
37
 * the statement class with the addition of an exec() method to execute the
38
 * command.
39
 */
40
class command
41
	:
42
	public statement
43
{
44
//______________________________________________________________________________
45
//                                                                 instantiation
46
public:
47
48
	/**
49
	 * Constructor that provides the SQL statement to execute
50
	 * @param sql an SQL statement in UTF-8
51
	 */
52
	command(
53
		database &database,
54
		const std::string &sql )
55
		:
56
		statement( database, sql )
57
	{ }
58
59
//______________________________________________________________________________
60
//                                                              public interface
61
public:
62
63
	/**
64
	 * Execute the command. This is the same as doing a step().
65
	 * @see sqlite3_step()
66
	 */
67
	inline int exec()
68
	{
69
		return step();
70
	}
71
72
};
73
74
75
}
76
77
78
#endif /* COMMAND_HPP_ */