00001 #include <dvmysql/row.h> 00002 #include <dvmysql/mysqldb.h> 00003 00004 class Database: public Dv::MySql::Db { 00005 public: 00006 Database(const std::string& db_name, const std::string& user_name, 00007 const std::string& passwd, const std::string& hostname="localhost") throw (std::runtime_error); 00008 Database(const Dv::Util::Props& config, const std::string& prefix="") 00009 throw (std::runtime_error); 00010 static Dv::Sql::Table::Ref account; 00011 static Dv::Sql::Table::Ref customer; 00012 static Dv::Sql::Table::Ref transaction; 00013 private: 00014 void init() throw (std::runtime_error); 00015 }; 00016 00017 namespace Account { 00018 typedef Dv::Sql::Row<Database::account> Row; 00019 typedef Row::Set Set; 00020 typedef Dv::Sql::Row<Database::account>::Column Column; 00021 extern const Column code; 00022 extern const Column description; 00023 extern const Column customer_id; 00024 }; 00025 00026 namespace Customer { 00027 typedef Dv::Sql::Row<Database::customer> Row; 00028 typedef Row::Set Set; 00029 typedef Dv::Sql::Row<Database::customer>::Column Column; 00030 extern const Column id; 00031 extern const Column first_name; 00032 extern const Column last_name; 00033 extern const Column birth_date; 00034 extern const Column sex; 00035 extern const Column email; 00036 extern const Column mod_date; 00037 }; 00038 00039 namespace Transaction { 00040 typedef Dv::Sql::Row<Database::transaction> Row; 00041 typedef Row::Set Set; 00042 typedef Dv::Sql::Row<Database::transaction>::Column Column; 00043 extern const Column id; 00044 extern const Column amount; 00045 extern const Column account_code; 00046 extern const Column executed; 00047 extern const Column description; 00048 }; 00049
dvmysql-1.0.3 | [17 November, 2010] |