資料庫字段 C 定義

2021-07-09 02:40:05 字數 1648 閱讀 9805

通過加入assigned欄位來判斷是否需要更新資料庫字段

field.h

#ifndef _field_h_

#define _field_h_

#include #define setifassigned(a, b) \

if (b.assigned()) \

templateclass field

field(const field& rhs) : value_(rhs.value_), assigned_(false) {}

field(const t& value) : value_(value), assigned_(false) {}

field& operator= (const field& rhs)

field& operator= (const t& value)

operator t ()

operator const t() const

const t& ref() const

bool assigned() const

t value()

private:

t value_;

bool assigned_;

};void getfieldstring(const sdbus::variantmap& mp, int fid, field& field);

void getfieldint(const sdbus::variantmap& mp, int fid, field& field);

void getfielddouble(const sdbus::variantmap& mp, int fid, field& field);

void getfieldbool(const sdbus::variantmap& mp, int fid, field& field);

#endif

filed.cpp

#include "field.h"

void getfieldstring(const sdbus::variantmap& mp, int fid, field& field)

}void getfieldint(const sdbus::variantmap& mp, int fid, field& field)

}void getfielddouble(const sdbus::variantmap& mp, int fid, field& field)

}void getfieldbool(const sdbus::variantmap& mp, int fid, field& field)

}

使用方式:

classquote

public:

fieldid_;  

fieldprotocol_id_;    

......

}賦值:

getfieldstring(mp,fid_id, quote->id_);

讀取:if(quote->protocol_id_.assigned())

if(quote->*.assigned())

優勢舉例:

更新資料庫某些字段,可以統一提供乙個介面即可。

資料庫字段

mysql char size 字長字元,0 255位元組 varchar size 變長字元,0 255位元組 date 日期資料,格式為yyyy mm dd hh mm ss datetime 日期資料,比date更確切,包含分秒 int整形資料 double s,p 數字型,可存放實型和整形,...

C 查詢ACCESS資料庫欄位和時間字段

查詢表的所有字段 string.format select from tablename 查詢表中的乙個字段 在access中將欄位用cstr 轉換成字串來判斷 string.format select from where cstr tablename,filed name,filed value...

資料庫修改字段

一 更改字段型別長度 a mysql alter table 表名 change 原欄位名 新欄位名 字段型別 b oracle alter table 表名 rename column 原欄位名 to 新欄位名 二 更改字段型別 alter table 表名 alter column 欄位名 更改...