你知道怎么用mfc的单文档连接sql数据库吗?
发布网友
发布时间:2022-04-11 22:20
我来回答
共1个回答
热心网友
时间:2022-04-11 23:50
这个用文字说的话你不易懂,我也在学,最近找了个不错的教程,给我个邮箱,我发给你。
先给你个例子实现增删改查的。
我之前做的程序:
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();
}
}