gzrjzcx 2016-06-09 16:08 采纳率: 0%
浏览 1067

ado连接sql server时在子对话框中调用主对话框变量出错

主对话框是CSoccerLabDlg,里面有listcontrol控件用于显示数据,
子对话框是CDIALOGTeamDlg,里面有4个edit控件用于输入,一个add按钮用于添加,
现在想实现的功能是在Team对话框里面输入信息并且添加后,在SoccerLab对话框的listcontrol显示
这个是子对话框里面的add按钮函数
void CDIALOGTeamDlg::OnBUTTONAdd()
{
// TODO: Add your control notification handler code here
if(UpdateData())
if(m_Team_no.GetLength()>0 && m_Team_name.GetLength()>0 && m_Team_coach.GetLength()>0 && m_Team_home.GetLength()>0)
{
CSoccerLab2Dlg dlg;
dlg.m_pRecordset->AddNew();
dlg.m_nCurrentSel = dlg.m_userlist.InsertItem(0xffff,"");
dlg.SaveData();///保存数据
dlg.m_userlist.SetItemState(dlg.m_nCurrentSel,LVIS_SELECTED|LVIS_FOCUSED,LVIS_SELECTED|LVIS_FOCUSED);
dlg.m_userlist.SetHotItem(dlg.m_nCurrentSel);
dlg.m_userlist.SetFocus();
AfxMessageBox("插入成功");
}
else
AfxMessageBox("请输入用户名");
}

这个是写在父对话框里面的SaveData函数
void CSoccerLab2Dlg::SaveData()
{
if(!m_pRecordset->adoEOF && m_nCurrentSel >= 0 && m_bAutoSave)
{
CDIALOGTeamDlg dlg;
v_Team_no = dlg.m_Team_no;
v_Team_Cname = dlg.m_Team_name;
v_Team_coach = dlg.m_Team_coach;
v_Team_home = dlg.m_Team_home;
m_pRecordset->PutCollect("Team_no",v_Team_no);
m_pRecordset->PutCollect("Team_Cname",v_Team_Cname);
m_pRecordset->PutCollect("Team_coach",v_Team_coach);
m_pRecordset->PutCollect("Team_home",v_Team_home);
m_userlist.SetItem(m_nCurrentSel,0,LVIF_TEXT,(_bstr_t)v_Team_no,NULL,0,0,0);
m_userlist.SetItem(m_nCurrentSel,1,LVIF_TEXT,(_bstr_t)v_Team_Cname,NULL,0,0,0);
m_userlist.SetItem(m_nCurrentSel,2,LVIF_TEXT,(_bstr_t)v_Team_coach,NULL,0,0,0);
m_userlist.SetItem(m_nCurrentSel,3,LVIF_TEXT,(_bstr_t)v_Team_home,NULL,0,0,0);
}
}

运行就提示Debug错误

  • 写回答

3条回答 默认 最新

  • oyljerry 2016-06-09 23:28
    关注

    你这是父对话框又定义了一个局部变量。也没有创建Domodal等创建资源。

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料