⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exampledatabase.hpp

📁 LiteSQL is a C++ library that integrates C++ objects tightly to relational database and thus provide
💻 HPP
📖 第 1 页 / 共 2 页
字号:
#include "litesql.hpp"namespace example {class Person;class Role;class Student;class Employee;class School;class Office;class PersonPersonRelationMother {public:    class Row {    public:        litesql::Field<int> person2;        litesql::Field<int> person1;        Row(const litesql::Database& db, const litesql::Record& rec=litesql::Record());    };    static const std::string table__;    static const litesql::FieldType Person1;    static const litesql::FieldType Person2;    static void link(const litesql::Database& db, const example::Person& o0, const example::Person& o1);    static void unlink(const litesql::Database& db, const example::Person& o0, const example::Person& o1);    static void del(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr());    static litesql::DataSource<PersonPersonRelationMother::Row> getRows(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr());    static litesql::DataSource<example::Person> getPerson1(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr());    static litesql::DataSource<example::Person> getPerson2(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr());};class PersonPersonRelationFather {public:    class Row {    public:        litesql::Field<int> person2;        litesql::Field<int> person1;        Row(const litesql::Database& db, const litesql::Record& rec=litesql::Record());    };    static const std::string table__;    static const litesql::FieldType Person1;    static const litesql::FieldType Person2;    static void link(const litesql::Database& db, const example::Person& o0, const example::Person& o1);    static void unlink(const litesql::Database& db, const example::Person& o0, const example::Person& o1);    static void del(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr());    static litesql::DataSource<PersonPersonRelationFather::Row> getRows(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr());    static litesql::DataSource<example::Person> getPerson1(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr());    static litesql::DataSource<example::Person> getPerson2(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr());};class PersonPersonRelationSiblings {public:    class Row {    public:        litesql::Field<int> person2;        litesql::Field<int> person1;        Row(const litesql::Database& db, const litesql::Record& rec=litesql::Record());    };    static const std::string table__;    static const litesql::FieldType Person1;    static const litesql::FieldType Person2;    static void link(const litesql::Database& db, const example::Person& o0, const example::Person& o1);    static void unlink(const litesql::Database& db, const example::Person& o0, const example::Person& o1);    static void del(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr());    static litesql::DataSource<PersonPersonRelationSiblings::Row> getRows(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr());    static litesql::DataSource<example::Person> getPerson1(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr());    static litesql::DataSource<example::Person> getPerson2(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr());};class PersonPersonRelationChildren {public:    class Row {    public:        litesql::Field<int> person2;        litesql::Field<int> person1;        Row(const litesql::Database& db, const litesql::Record& rec=litesql::Record());    };    static const std::string table__;    static const litesql::FieldType Person1;    static const litesql::FieldType Person2;    static void link(const litesql::Database& db, const example::Person& o0, const example::Person& o1);    static void unlink(const litesql::Database& db, const example::Person& o0, const example::Person& o1);    static void del(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr());    static litesql::DataSource<PersonPersonRelationChildren::Row> getRows(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr());    static litesql::DataSource<example::Person> getPerson1(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr());    static litesql::DataSource<example::Person> getPerson2(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr());};class RoleRelation {public:    class Row {    public:        litesql::Field<int> role;        litesql::Field<int> person;        Row(const litesql::Database& db, const litesql::Record& rec=litesql::Record());    };    static const std::string table__;    static const litesql::FieldType Person;    static const litesql::FieldType Role;    static void link(const litesql::Database& db, const example::Person& o0, const example::Role& o1);    static void unlink(const litesql::Database& db, const example::Person& o0, const example::Role& o1);    static void del(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr());    static litesql::DataSource<RoleRelation::Row> getRows(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr());    template <class T> static litesql::DataSource<T> get(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr());;;};class SchoolStudentRelation {public:    class Row {    public:        litesql::Field<int> student;        litesql::Field<int> school;        Row(const litesql::Database& db, const litesql::Record& rec=litesql::Record());    };    static const std::string table__;    static const litesql::FieldType School;    static const litesql::FieldType Student;    static void link(const litesql::Database& db, const example::School& o0, const example::Student& o1);    static void unlink(const litesql::Database& db, const example::School& o0, const example::Student& o1);    static void del(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr());    static litesql::DataSource<SchoolStudentRelation::Row> getRows(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr());    template <class T> static litesql::DataSource<T> get(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr());;;};class EmployeeOfficeRelation {public:    class Row {    public:        litesql::Field<int> office;        litesql::Field<int> employee;        Row(const litesql::Database& db, const litesql::Record& rec=litesql::Record());    };    static const std::string table__;    static const litesql::FieldType Employee;    static const litesql::FieldType Office;    static void link(const litesql::Database& db, const example::Employee& o0, const example::Office& o1);    static void unlink(const litesql::Database& db, const example::Employee& o0, const example::Office& o1);    static void del(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr());    static litesql::DataSource<EmployeeOfficeRelation::Row> getRows(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr());    template <class T> static litesql::DataSource<T> get(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr());;;};class Person : public litesql::Persistent {public:    class SexType : public litesql::FieldType {    public:        static const int Male;        static const int Female;        SexType(const std::string& n, const std::string& t, const std::string& tbl, const litesql::FieldType::Values& vals=Values());    };    class Sex {    public:        static const int Male;        static const int Female;    };    class MotherHandle : public litesql::RelationHandle<Person> {    public:        MotherHandle(const Person& owner);        void link(const Person& o0);        void unlink(const Person& o0);        void del(const litesql::Expr& expr=litesql::Expr());        litesql::DataSource<Person> get(const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr());        litesql::DataSource<PersonPersonRelationMother::Row> getRows(const litesql::Expr& expr=litesql::Expr());    };    class FatherHandle : public litesql::RelationHandle<Person> {    public:        FatherHandle(const Person& owner);        void link(const Person& o0);        void unlink(const Person& o0);        void del(const litesql::Expr& expr=litesql::Expr());        litesql::DataSource<Person> get(const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr());        litesql::DataSource<PersonPersonRelationFather::Row> getRows(const litesql::Expr& expr=litesql::Expr());    };    class SiblingsHandle : public litesql::RelationHandle<Person> {    public:        SiblingsHandle(const Person& owner);        void link(const Person& o0);        void unlink(const Person& o0);        void del(const litesql::Expr& expr=litesql::Expr());        litesql::DataSource<Person> get(const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr());        litesql::DataSource<PersonPersonRelationSiblings::Row> getRows(const litesql::Expr& expr=litesql::Expr());    };    class ChildrenHandle : public litesql::RelationHandle<Person> {    public:        ChildrenHandle(const Person& owner);        void link(const Person& o0);        void unlink(const Person& o0);        void del(const litesql::Expr& expr=litesql::Expr());        litesql::DataSource<Person> get(const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr());        litesql::DataSource<PersonPersonRelationChildren::Row> getRows(const litesql::Expr& expr=litesql::Expr());    };    class RolesHandle : public litesql::RelationHandle<Person> {    public:        RolesHandle(const Person& owner);        void link(const Role& o0);        void unlink(const Role& o0);        void del(const litesql::Expr& expr=litesql::Expr());        litesql::DataSource<Role> get(const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr());        litesql::DataSource<RoleRelation::Row> getRows(const litesql::Expr& expr=litesql::Expr());    };    static const std::string type__;    static const std::string table__;    static const std::string sequence__;    static const litesql::FieldType Id;    litesql::Field<int> id;    static const litesql::FieldType Type;    litesql::Field<std::string> type;    static const litesql::FieldType Name;    litesql::Field<std::string> name;    static const litesql::FieldType Age;    litesql::Field<int> age;protected:    static std::vector < std::pair< std::string, std::string > > sex_values;public:    static Person::SexType Sex;    litesql::Field<int> sex;    static void initValues();protected:    void defaults();public:    Person(const litesql::Database& db);    Person(const litesql::Database& db, const litesql::Record& rec);    Person(const Person& obj);    const Person& operator=(const Person& obj);    Person::MotherHandle mother();    Person::FatherHandle father();    Person::SiblingsHandle siblings();    Person::ChildrenHandle children();    Person::RolesHandle roles();    virtual void sayHello();protected:    std::string insert(litesql::Record& tables, litesql::Records& fieldRecs, litesql::Records& valueRecs);    void create();    virtual void addUpdates(Updates& updates);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -