MFC创建单文档工程过程中的选项都是什么意思,如果要连接数据库要怎么选?

MFC创建单文档工程过程中的选项都是什么意思,如果要连接数据库要怎么选?,第1张

在第二步时选中第三项然后就可以选择添加一些各类的数据库了!比如使用ODBC来做的话,先打开OBDC数据管理器,将你要添加的数据库加入进去,如加入ODBC Microsoft Access Driver(*.mdb)然后选择添加,将你要使用的表加入进去,安装完毕!然后在MFC向导的第二步选择第三项目Database view without file support这一项,然后点Data Source在Database Option对话框中选择要添加的数据源,点OK,在d出的SelectDatabase Table对话框中选择你要链接的表就可以了!数据库编程可以参看一下孙鑫VC视频的第20集!

这个用文字说的话你不易懂,我也在学,最近找了个不错的教程,给我个邮箱,我发给你。

先给你个例子实现增删改查的。

我之前做的程序:

void COicqView::OnDel()

{

// TODO: Add your control notification handler code here

if(AfxMessageBox( "真的要删除 "+m_pSet->m_column1+ "吗? ",MB_OKCANCEL)==IDCANCEL)return

if(m_pSet->IsEOF())

{

AfxMessageBox( "没有号码可删除? ")

return

}

m_pSet->Delete()

if(m_pSet->IsEOF())

m_pSet->MoveLast()

else m_pSet->MoveNext()

m_pSet->Requery()

UpdateData(false)

AfxMessageBox( "已经删除了该号码 ")

OnShowall()

}

void COicqView::OnAlldel()

{

// TODO: Add your control notification handler code here

if(AfxMessageBox( "真的要删除全部号码吗? ",MB_OKCANCEL)==IDCANCEL)return

int i=0

CString str

if(m_pSet->IsEOF())

{

AfxMessageBox( "没有号码可删除? ")

return

}

m_pSet->MoveFirst()

while(!m_pSet->IsEOF())

{

m_pSet->Delete()

m_pSet->MoveNext()

m_pSet->Requery()

UpdateData(false)

i++

}

str.Format( "已经删除了%d条号码 ",i)

AfxMessageBox(str)

OnShowall()

}

void COicqView::OnAdd()

{

// TODO: Add your control notification handler code here

CAddDialog dlg

if(dlg.DoModal()==IDOK)

{

if(dlg.m_addnum.IsEmpty()||dlg.m_addpsw.IsEmpty())

{

AfxMessageBox( "号码或密码为空,不能添加! ")

return

}

m_pSet->AddNew()

m_pSet->m_column1 = dlg.m_addnum

m_pSet->m_column2 = dlg.m_addpsw

m_pSet->Update()

m_pSet->Requery()

AfxMessageBox( "已经添加 "+dlg.m_addnum+ "密码为 "+dlg.m_addpsw)

UpdateData(false)

}

OnShowall()

}

void COicqView::OnShowall()

{

// TODO: Add your control notification handler code here

m_list.DeleteAllItems()

while(m_list.DeleteColumn(0))

m_pSet->Requery()

if(m_pSet->IsEOF())

{

AfxMessageBox( "由于在数据库底或者数据库没有数据 ")

return

}

m_pSet->MoveFirst()

m_list.InsertColumn(0, "号码 ",LVCFMT_LEFT,84)

m_list.InsertColumn(1, "密码 ",LVCFMT_LEFT,84)

int i=0

while(!m_pSet->IsEOF())

{

int j=0

j=m_list.InsertItem(i,m_pSet->m_column1)

m_list.SetItemText(j,1,m_pSet->m_column2)

i++

m_pSet->MoveNext()

}

m_pSet->MoveFirst()

UpdateData(false)

}

void COicqView::OnXiugai()

{

// TODO: Add your control notification handler code here

CAddDialog dlg

if(dlg.DoModal()==IDOK)

{

if(dlg.m_addnum.IsEmpty()||dlg.m_addpsw.IsEmpty())

{

AfxMessageBox( "号码或密码为空,不能修改! ")

return

}

m_pSet->Edit()

m_pSet->m_column1 = dlg.m_addnum

m_pSet->m_column2 = dlg.m_addpsw

m_pSet->Update()

m_pSet->Requery()

AfxMessageBox( "已经修改 "+dlg.m_addnum+ "密码为 "+dlg.m_addpsw)

UpdateData(false)

OnShowall()

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10832934.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存