一个完善的ODBC数据库程序
2008-02-26 20:26:16 来源:WEB开发网2.为了实现程序的基本功能,在视图上增加了五个按钮,在视图实现文件中对按钮响应。五个函数如下://增加记录
因为在查寻记录后,有时需要看所有记录。所以增加了一个onAll()函数用来显示所有记录。在修改记录和删除记录中设置密码(1234)必需加以确认。这样整个程序就大致完成。
void CLhwyView::OnAdd()
{
// TODO: Add your control notification handler code here
CAddDialog dlg;
if( dlg.DoModal()==IDOK)
{
if(dlg.m_Xuehao==0)
{
AfxMessageBox("学号不可为零!");
}
else
{
m_pSet->AddNew();
m_pSet->m_column1=dlg.m_Xuehao;
m_pSet->m_column2=dlg.m_strName;
m_pSet->m_column3=dlg.m_Maths;
m_pSet->m_column4=dlg.m_English;
m_pSet->Update();
m_pSet->Requery();
m_pSet->MoveLast();
CString s;
s.Format("%d",dlg.m_Xuehao);
m_ListCtrl.InsertItem(0,s,0);
m_ListCtrl.SetItemText(0,1,dlg.m_strName);
s.Format("%d",dlg.m_Maths);
m_ListCtrl.SetItemText(0,2,s);
s.Format("%d",dlg.m_English);
m_ListCtrl.SetItemText(0,3,s);
}
}
m_pSet->MoveFirst();
}
//删除记录
void CLhwyView::OnDelect()
{
// TODO: Add your control notification handler code here
CDeleteDialog dlg;
if(dlg.DoModal()==IDOK)
{
if(dlg.m_Password!=1234)
AfxMessageBox("你没有权限删除记录!请重输入密码:");
else
{
BOOL b=FALSE;
m_pSet->MoveFirst();
do
{
if(dlg.m_Xuehao!=m_pSet->m_column1)
m_pSet->MoveNext();
else
{
m_ListCtrl.DeleteAllItems();
b=TRUE;
m_pSet->Delete();
m_pSet->Requery();
this->Show();
m_pSet->MoveFirst();
break;
}
}while(!m_pSet->IsEOF());
if(b==FALSE)
AfxMessageBox("没有此记录");
}
}
}
//查寻记录
void CLhwyView::OnFind()
{
// TODO: Add your control notification handler code here
BOOL k=FALSE;
CFindDialog dlg;
if(dlg.DoModal()==IDOK)
{
m_pSet->MoveFirst();
m_ListCtrl.DeleteAllItems();
do{
if(dlg.m_Maths!=m_pSet->m_column3)
m_pSet->MoveNext();
else
{
k=TRUE;
CString s;
s.Format("%d",m_pSet->m_column1);
m_ListCtrl.InsertItem(0,s);
m_ListCtrl.SetItemText(0,1,m_pSet->m_column2);
s.Format("%d",m_pSet->m_column3);
m_ListCtrl.SetItemText(0,2,s);
s.Format("%d",m_pSet->m_column3);
m_ListCtrl.SetItemText(0,3,s);
m_pSet->MoveNext();
}
} while(!m_pSet->IsEOF());
if(k==FALSE)
AfxMessageBox("没有符和条件的记录");
}
}
//修改记录
void CLhwyView::OnEdit()
{
// TODO: Add your control notification handler code here
CEditDialog dlg;
if(dlg.DoModal()==IDOK)
{
if(dlg.m_Password!=1234)
AfxMessageBox("你没有权限更改记录!请重输入密码:");
else
{
BOOL b=FALSE;
m_pSet->MoveFirst();
do
{
if(dlg.m_Xuehao!=m_pSet->m_column1)
m_pSet->MoveNext();
else
{
m_ListCtrl.DeleteAllItems();
m_pSet->Edit();
b=TRUE;
m_pSet->m_column1=dlg.m_Xuehao;
m_pSet->m_column2=dlg.m_strName;
m_pSet->m_column3=dlg.m_Maths;
m_pSet->m_column4=dlg.m_English;
m_pSet->Update();
m_pSet->Requery();
this->Show();
m_pSet->MoveFirst();
break;
}
}while(!m_pSet->IsEOF());
if(b==FALSE)
AfxMessageBox("没有此记录");
}
}
}
//取全部记录
void CLhwyView::OnAll()
{
m_ListCtrl.DeleteAllItems();
this->Show();
}
//排序记录
void CLhwyView::OnSort()
{
m_ListCtrl.DeleteAllItems();
m_pSet->m_strSort="[学号]";
m_pSet->Requery();
this->Show();
}
更多精彩
赞助商链接