some work in morm (select statement)

git-svn-id: svn://ttmath.org/publicrep/morm/trunk@1079 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
2018-04-15 23:00:17 +00:00
parent b1af7b8d25
commit 09f31b2803
11 changed files with 405 additions and 195 deletions

View File

@@ -60,7 +60,7 @@ public:
template<typename FieldValue>
void field(const wchar_t * field_name, const FieldValue & field_value, bool insertable = true, bool updatable = true, bool is_primary_key = false)
{
if( can_field_be_generated(insertable, updatable, is_primary_key) )
if( out_stream && can_field_be_generated(insertable, updatable, is_primary_key) )
{
field_before();
@@ -86,6 +86,40 @@ public:
}
template<typename FieldValue>
void field(PT::TextStream & stream, const wchar_t * field_name, const FieldValue & field_value, bool insertable = true, bool updatable = true, bool is_primary_key = false)
{
this->out_stream = &stream;
field(field_name, field_value, insertable, updatable, is_primary_key);
this->out_stream = nullptr;
}
virtual void esc(char val, PT::TextStream & stream);
virtual void esc(unsigned char val, PT::TextStream & stream);
virtual void esc(const std::wstring & val, PT::TextStream & stream);
virtual void esc(const wchar_t * val, PT::TextStream & stream);
virtual void esc(const std::string & val, PT::TextStream & stream);
virtual void esc(const char * val, PT::TextStream & stream);
virtual void esc(bool val, PT::TextStream & stream);
virtual void esc(short val, PT::TextStream & stream);
virtual void esc(unsigned short val, PT::TextStream & stream);
virtual void esc(int val, PT::TextStream & stream);
virtual void esc(unsigned int val, PT::TextStream & stream);
virtual void esc(long val, PT::TextStream & stream);
virtual void esc(unsigned long val, PT::TextStream & stream);
virtual void esc(long long val, PT::TextStream & stream);
virtual void esc(unsigned long long val, PT::TextStream & stream);
virtual void esc(float val, PT::TextStream & stream);
virtual void esc(double val, PT::TextStream & stream);
virtual void esc(long double val, PT::TextStream & stream);
virtual void esc(void* val, PT::TextStream & stream);
virtual void esc(const PT::Date & date, PT::TextStream & stream);
protected:
@@ -226,31 +260,6 @@ protected:
*/
virtual void esc(char val, PT::TextStream & stream);
virtual void esc(unsigned char val, PT::TextStream & stream);
virtual void esc(const std::wstring & val, PT::TextStream & stream);
virtual void esc(const wchar_t * val, PT::TextStream & stream);
virtual void esc(const std::string & val, PT::TextStream & stream);
virtual void esc(const char * val, PT::TextStream & stream);
virtual void esc(bool val, PT::TextStream & stream);
virtual void esc(short val, PT::TextStream & stream);
virtual void esc(unsigned short val, PT::TextStream & stream);
virtual void esc(int val, PT::TextStream & stream);
virtual void esc(unsigned int val, PT::TextStream & stream);
virtual void esc(long val, PT::TextStream & stream);
virtual void esc(unsigned long val, PT::TextStream & stream);
virtual void esc(long long val, PT::TextStream & stream);
virtual void esc(unsigned long long val, PT::TextStream & stream);
virtual void esc(float val, PT::TextStream & stream);
virtual void esc(double val, PT::TextStream & stream);
virtual void esc(long double val, PT::TextStream & stream);
virtual void esc(void* val, PT::TextStream & stream);
virtual void esc(const PT::Date & date, PT::TextStream & stream);
};
}