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

MySQL数据库

开发平台:

Visual C++

  1. #ifndef __result2_hh__
  2. #define __result2_hh__
  3. #include "connection2.hh"
  4. #include "result1.hh"
  5. #include "row2.hh"
  6. #include "fields2.hh"
  7. // field name info
  8. inline int ResUse::field_num(const string &i) const {
  9.   if (!_names) _names = new FieldNames(this);
  10.   return (*_names)[i];
  11. }
  12. inline string& ResUse::field_name(int i) {
  13.   if (!_names) _names = new FieldNames(this);
  14.   return (*_names)[i];
  15. }
  16. inline const string& ResUse::field_name(int i) const {
  17.   if (!_names) _names = new FieldNames(this);
  18.   return (*_names)[i];
  19. }
  20. inline FieldNames& ResUse::field_names() {
  21.   if (!_names) _names = new FieldNames(this);
  22.   return *_names;
  23. }
  24. inline const FieldNames& ResUse::field_names() const {
  25.   if (!_names) _names = new FieldNames(this);
  26.   return *_names;
  27. }
  28. inline void ResUse::reset_field_names() {
  29.   delete _names;
  30.   _names = new FieldNames(this);
  31. }
  32. // field type info
  33. inline mysql_type_info& ResUse::field_type(int i) {
  34.   if (!_types) _types = new FieldTypes(this);
  35.   return (*_types)[i];
  36. }
  37. inline const mysql_type_info& ResUse::field_type(int i) const {
  38.   if (!_types) _types = new FieldTypes(this);
  39.   return (*_types)[i];
  40. }
  41. inline FieldTypes& ResUse::field_types() {
  42.   if (!_types) _types = new FieldTypes(this);
  43.   return *_types;
  44. }
  45. inline const FieldTypes& ResUse::field_types() const {
  46.   if (!_types) _types = new FieldTypes(this);
  47.   return *_types;
  48. }
  49. inline void ResUse::reset_field_types() {
  50.   delete _types;
  51.   _types = new FieldTypes(this);
  52. }
  53. inline int               ResUse::names(const string& s) const {return field_num(s);}
  54. inline string&           ResUse::names(int i) {return field_name(i);}
  55. inline const string&     ResUse::names(int i) const {return field_name(i);}
  56. inline FieldNames&       ResUse::names() {return field_names();}
  57. inline const FieldNames& ResUse::names() const {return field_names();}
  58. inline void              ResUse::reset_names() {reset_field_names();}
  59. inline mysql_type_info&  ResUse::types(int i) {return field_type(i);}
  60. inline const mysql_type_info& ResUse::types(int i) const {return field_type(i);}
  61. inline FieldTypes&       ResUse::types() {return field_types();}
  62. inline const FieldTypes& ResUse::types() const {return field_types();}
  63. inline void              ResUse::reset_types() {reset_field_types();}
  64. //
  65. //
  66. inline ResUse& ResUse::operator = (const ResUse &other) {
  67.   copy(other);  other.mysql_res=NULL;
  68.   return *this;
  69. }
  70. inline ResNSel::ResNSel (Connection *q) 
  71.   : success   (q->success()),         insert_id (q->insert_id()),
  72.     rows      (q->affected_rows()),   info      (q->info())        {}
  73. #endif