ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/truck/Common/sqlite3.cpp
Revision: 45
Committed: 2008-03-06T18:12:54-08:00 (14 years, 6 months ago) by douglas
File size: 1355 byte(s)
Log Message:
Beginnings of an sqlite3 api ala Menes' dbi.

File Contents

# User Rev Content
1 douglas 3 // Truck Computer Dooom!
2     //
3     // Douglas Thrift
4     //
5     // $Id$
6    
7 douglas 45 #include "sqlite3.hpp"
8    
9     namespace SQLite3
10     {
11    
12     Connection::Connection(const std::string &db)
13     {
14     CheckError(::sqlite3_open(db.c_str(), &connection), connection);
15     }
16    
17     Connection::~Connection()
18     {
19     CheckError(::sqlite3_close(connection), connection);
20     }
21    
22     Statement::Statement(Connection &connection, const std::string &statement) : connection(connection)
23     {
24     CheckError(::sqlite3_prepare_v2(connection.GetHandle(), statement.data(), statement.size(), &this->statement, NULL), connection.GetHandle());
25     }
26    
27     Statement::~Statement()
28     {
29     ::sqlite3_finalize(statement);
30     }
31    
32     void Statement::Set(unsigned index, double value)
33     {
34     CheckError(::sqlite3_bind_double(statement, index, value), connection.GetHandle());
35     }
36    
37     void Statement::Set(unsigned index, int value)
38     {
39     CheckError(::sqlite3_bind_int(statement, index, value), connection.GetHandle());
40     }
41    
42     void Statement::Set(unsigned index, int64_t value)
43     {
44     CheckError(::sqlite3_bind_int64(statement, index, value), connection.GetHandle());
45     }
46    
47     void Statement::Set(unsigned index, const Null &value)
48     {
49     CheckError(::sqlite3_bind_null(statement, index), connection.GetHandle());
50     }
51    
52     void Statement::Set(unsigned index, const std::string &value)
53     {
54     CheckError(::sqlite3_bind_text(statement, index, value.data(), value.size(), SQLITE_TRANSIENT), connection.GetHandle());
55     }
56    
57     }

Properties

Name Value
svn:keywords Id