工控编程吧
标题:
286上位机VC MFC使用OLE DB添加书签功能
[打印本页]
作者:
qq263946146
时间:
2016-9-26 14:03
标题:
286上位机VC MFC使用OLE DB添加书签功能
(, 下载次数: 5)
上传
点击文件名下载附件
OLE DB添加书签功能
功能展示
书签的概念很好理解,我们数据库中有也书签这一功能,在浏览到一数据时,可将当前的数据保存为书签,以便后面随时方便的打开,我们当前例程演示书签的使用方法,效果如图,随意翻阅记录集,<设置书签>后,就可在任意时间定位到书签指定的数据记录;
要点提示
当使用记录号导航时,如果 记录被删除那么就再也不能导航到该记录了,在程序中使用绝对记录定位,运行时易出错,建议使用书签面不要使用绝对记录集定位和返回记录;
例程中使用Cboomark类实现书签功能,此类是一个模板,其参数为书签长度,单位为字节,每个书签用4个字节,CBookmark<4> 的意思 是用4 个字节的字符存储书签数据,如果把0作为其参数即CBookmark<0> 则该书签动态分配 ,其长度按需进行调整;
实现功能
1.用根目录数据文件事先创建一数据源StudentInfo,再新建基于单文档的应用程序,数据表选择Basic,具体的创建过程可参考随后的视频演示;
2.修改向导为我们创建的类Cbasic的成员变量
int m_StuID;
// wchar_t m_StuName[26];
// wchar_t m_StuAdd[26];
// wchar_t m_StuTel[26];
TCHAR m_StuName[51];//改了变量类型
TCHAR m_StuAdd[51];
TCHAR m_StuTel[51];
CBookmark<4> m_RowsetBookmark;//添加书签
及BEGIN_COLUMN_MAP(CBasic)内的三行内容
COLUMN_ENTRY_TYPE(1, DBTYPE_I4, m_StuID)
// COLUMN_ENTRY_TYPE(2, DBTYPE_WSTR, m_StuName)
// COLUMN_ENTRY_TYPE(3, DBTYPE_WSTR, m_StuAdd)
// COLUMN_ENTRY_TYPE(4, DBTYPE_WSTR, m_StuTel)
COLUMN_ENTRY(2, m_StuName)
COLUMN_ENTRY(3, m_StuAdd)
COLUMN_ENTRY(4, m_StuTel)
BOOKMARK_ENTRY(m_RowsetBookmark)
4.在View视窗类的DoDataExchange()函数中添加代码
DDX_Text(pDX,IDC_STUID,m_pSet->m_StuID);//绑定编辑控件与记录
DDX_Text(pDX,IDC_STUNAME,m_pSet->m_StuName,51);//绑定编辑控件与记录
DDX_Text(pDX,IDC_STUADD,m_pSet->m_StuAdd,51);//绑定编辑控件与记录
DDX_Text(pDX,IDC_STUTEL,m_pSet->m_StuTel,51);//绑定编辑控件与记录
5.再在视窗类添加变量CBookmark<4> m_ViewBookmark;
6。依次添加四编辑框ID分别为IDC_STUID,IDC_STUNAME,IDC_STUADD,IDC_STUTEL,及按钮<设置书签><移动到书签关联点击消息响应函数
void CGkbc8View::OnBtSetbookmark()
{
m_ViewBookmark=m_pSet->m_RowsetBookmark;//设置书签
}
void CGkbc8View::OnBtGotobookmark()
{
m_pSet->MoveToBookmark(m_ViewBookmark);
UpdateData(FALSE);
}
我们来演示下功能实现的整个过程
[iqiyi]http://player.video.qiyi.com/49bcfb1f2e4149ba5bba3179a66b9440/0/0/w_19rstt0h5p.swf-albumId=6398329009-tvId=6398329009-isPurchase=0-cnId=12[/iqiyi]
(, 下载次数: 0)
上传
点击文件名下载附件
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4