当前位置:首页 > 通信管理系统曾冠龙
VC++课程设计
database.Open(_T(\ CString strSql; if(nGroupId==-1) {
CString strFormat=\ graduate,homeAddress,city,mobile,mail,qq,\\ major,memory)
VALUES('%S',%d,'%s','%s','%s','%s','%s','%s','%s','%s','%s')\ strSql.Format(strFormat, interfaceCtrlData.strName, interfaceCtrlData.bSex,
interfaceCtrlData.strCompany, interfaceCtrlData.strGraduate, interfaceCtrlData.strHomeAddress, interfaceCtrlData.strCity, interfaceCtrlData.strMobile, interfaceCtrlData.strMail, interfaceCtrlData.strQq, interfaceCtrlData.strMajor, interfaceCtrlData.strMemory); }
else {
CString strFormat=\INTO people(groupId,fullname,sex,company,\\
graduate,homeAddress,city,mobile,mail,qq,\\ major,memory)
VALUES(%d,'%s',%d,'%s','%s','%s','%s','%s','%s','%s','%s','%s')\ strSql.Format(strFormat, nGroupId,
interfaceCtrlData.strName, interfaceCtrlData.bSex,
interfaceCtrlData.strCompany, interfaceCtrlData.strGraduate, interfaceCtrlData.strHomeAddress, interfaceCtrlData.strCity, interfaceCtrlData.strMobile, interfaceCtrlData.strMail, interfaceCtrlData.strQq, interfaceCtrlData.strMajor, interfaceCtrlData.strMemory); }
database.ExecuteSQL(strSql); database.Close();
西北民族大学
17
VC++课程设计
INTERFACECTRLDATA temp; SwitchData(temp,true); RefurTree(); }
int CCommunicationDlg::GetCurrentSelGroupId() {
int nGroupId=-1;
HTREEITEM hSelItem=m_tree_list.GetSelectedItem(); if(m_tree_list.GetParentItem(hSelItem)==NULL) {
nGroupId=m_tree_list.GetItemData(hSelItem); } else {
HTREEITEM hGroupItem;
hGroupItem=m_tree_list.GetParentItem(hSelItem); nGroupId=m_tree_list.GetItemData(hSelItem); }
return nGroupId; }
void CCommunicationDlg::RefurTree() {
HTREEITEM hSelItem=m_tree_list.GetSelectedItem(); int nGroupId=-1; int nPeopleId=-1;
if(m_tree_list.GetParentItem(hSelItem)==NULL) {
nGroupId=m_tree_list.GetItemData(hSelItem); } else {
HTREEITEM hGroupItem;
hGroupItem=m_tree_list.GetParentItem(hSelItem); nGroupId=m_tree_list.GetItemData(hSelItem); nPeopleId=m_tree_list.GetItemData(hSelItem); }
InitTreeList();
HTREEITEM htiItem=m_tree_list.GetRootItem(); int nId;
while(NULL!=htiItem) {
nId=m_tree_list.GetItemData(htiItem);
西北民族大学
18
VC++课程设计
if(nGroupId==nId) {
m_tree_list.Select(htiItem,TVGN_CARET); INTERFACECTRLDATA temp; SwitchData(temp,true); if(nPeopleId!=-1) {
HTREEITEM hPeople=m_tree_list.GetChildItem(htiItem); while(NULL!=hPeople) {
if(nPeopleId == m_tree_list.GetItemData(hPeople)) {
m_tree_list.Select(hPeople,TVGN_CARET); break; }
hPeople=m_tree_list.GetNextSiblingItem(hPeople); } }
break; }
htiItem=m_tree_list.GetNextSiblingItem(htiItem); } }
代码解析:先调用函数GetCurrentSelGroupId尝试取得当前选中的组的ID,然后调用函数SwitchData取得界面设定的新联系人信息,并根据是否成功取到组ID分别生成不同的INSERT插入语句.在生成SQl指令后,通过CDatabase的ExecuteSQL方法执行它,而在将新的联系人插入到数据库后,则先清空界面当前显示,然后调用函数RefurTree,以便及时将新添加的联系人也显示于左侧的树控件中.
流程图如下所示:
西北民族大学 19
VC++课程设计
开始 调用函数GetCurrentSelGroupInfo取得当前选中组的ID 把控件里的数据放入结构体 生成SQl指令后,通过CDatabase的ExecuteSQL方法执行它 清空界面当前显示,刷新树控件 结束
4-3.修改联系人信息.
先选中需要修改的联系人,然后该联系人的信息出现在右边的控件上,对控件里的信息修改后,按更新键即可. 添加的代码如下:
void CCommunicationDlg::OnButtonEdit() { INTERFACECTRLDATA interfaceCtrlData; SwitchData(interfaceCtrlData,false);
HTREEITEM hSelItem=m_tree_list.GetSelectedItem(); int nID;
nID=m_tree_list.GetItemData(hSelItem); CDatabase db;
db.Open(_T(\ CString
strSql1,strSql2,strSql3,strSql4,strSql5,strSql6,strSql7,strSql8,strSql9,strSql10,strSql11; strSql1.Format(\people SET fullname='%s' WHERE id=%d\ strSql2.Format(\people SET sex='%d' WHERE id=%d\ strSql3.Format(\people SET company='%s' WHERE id=%d\ strSql4.Format(\people SET graduate='%s' WHERE id=%d\
strSql5.Format(\people SET homeAddress='%s' WHERE id=%d\
西北民族大学
20
共分享92篇相关文档