注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

多多的爹

 
 
 

日志

 
 

MFC到wxWidgets移植笔记(11)——表访问类  

2008-05-16 21:19:11|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

有了上节基本的数据访问接口,可以实现具体的表访问类了。以下以user表为例:

interface IDatabase;
class MDUser
{
public:
    MDUser(IDatabase* pDB);
    virtual ~MDUser(void);

public:
    virtual void GetUser(wxArrayString& vUserNames);
    virtual MID AppendUser(const wxString& name, const wxString& pass);
    virtual bool DeleteUser(MID id);
    virtual bool UpdateUser(MID id, const wxString& name, const wxString& pass);
    virtual bool GetUserID(const wxString& name, const wxString& pass, MID& id);
    virtual bool GetUserName(MID id, wxString& name);
    virtual wxString EncryptPass(const wxString& pass)const;
    virtual void UpdateLogin(MID id)const;

private:
    IDatabase* db;
};

以两个函数实现为例:

MID MDUser::AppendUser(const wxString& name, const wxString& pass)
{
    MID iduser = eMID;
    if (db->Execute(wxString::Format(wxT("insert into user(name,pass) values(\'%s\',\'%s\')"),
        name.c_str(), EncryptPass(pass).c_str())))
    {
        DBRecordSet set;
        if (db->QueryRecordSet(wxT("select max(id) as max_id from user"), &set))
        {
            if (set.RecordCount() == 1)
            {
                set.MoveFirst();
                set.GetField(wxT("max_id"), iduser);
            }
        }
    }
    return iduser;
}

bool MDUser::DeleteUser(MID id)
{
    return db->Execute(wxString::Format(wxT("delete from user where id=\'%d\'"), id));
}

  评论这张
 
阅读(4)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017