sql_string1.hh
上传用户:clovervx
上传日期:2010-03-30
资源大小:787k
文件大小:2k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. #ifndef __sql_string1_hh__
  2. #define __sql_string1_hh__
  3. #include <string>
  4. using namespace std ;
  5. #include <stdio.h>
  6. #include "defs.h"
  7. #include "define_short.h"
  8. //: A special string that will convert from anything.
  9. // A class subclassed from string that has the additional ability to
  10. // convert from any valid mysql type.
  11. class SQLString : public string {
  12. public:
  13.   bool is_string;
  14.   bool dont_escape;
  15.   bool processed;
  16.   SQLString() : is_string(false) , processed(false) {}
  17.   SQLString (const string& str) :string (str)
  18.     {is_string=true;processed=false;dont_escape=false;}
  19.   SQLString (const char *str) :string (str) 
  20.     {is_string=true;processed=false;dont_escape=false;}
  21.   SQLString& operator = (const char *str) {
  22.     string::operator = (str); return *this;
  23.   }
  24.   SQLString& operator = (const string& str) {
  25.     string::operator = (str); return *this;
  26.   }
  27.   SQLString (char i) : is_string(false), processed(false)
  28.     {char s[6]; sprintf(s,"%dh",(short int)i); *this=s;}
  29.   SQLString (unsigned char i) : is_string(false), processed(false)
  30.     {char s[6]; sprintf(s,"%uh",(short int)i); *this=s;}
  31.   SQLString (short int i) : is_string(false), processed(false)
  32.     {char s[6]; sprintf(s,"%dh",i); *this=s;}
  33.   SQLString (unsigned short int i) : is_string(false), processed(false)
  34.     {char s[6]; sprintf(s,"%uh",i); *this=s;}
  35.   SQLString (int i) : is_string(false), processed(false)
  36.     {char s[11]; sprintf(s,"%d",i); *this=s;}
  37.   SQLString (unsigned int i) : is_string(false), processed(false)
  38.     {char s[11]; sprintf(s,"%u",i); *this=s;}
  39. /*SQLString (longlong i) : is_string(false), processed(false)
  40.     {char s[22]; sprintf(s,"%dL",i); *this=s;}
  41.   SQLString (ulonglong i) : is_string(false), processed(false) 
  42.     {char s[22]; sprintf(s,"%uL",i); *this=s;}
  43. */
  44.   SQLString (float i) : is_string(false), processed(false)
  45.     {char s[40]; sprintf(s,"%g",i); *this=s;}
  46.   SQLString (double i) : is_string(false), processed(false)
  47.     {char s[40]; sprintf(s,"%g",i); *this=s;}
  48. };
  49. #endif