我现在已经有一个界面了,从串口读取了一串数据保存在 CString  s 中。
且把这个数据写入到数据库表tagdata中的tagdataid表tagdata有两个栏位,一个tagdataid一个tagdatasj主界面有一个read按钮,用来从串口读取 s  的,每读一次s就到数据库中查询,查询到 s=tagdataid 就再弹出一个对话框并在编辑栏中显示 tagdataid 对应的 tagdatasj我想点 read按钮后弹出一个对话框,弹出的对话框中有一个编辑栏,在编辑栏显示tagdataid对应的tagdatasj然后按确定回到主界面。try
{
CString strSQL_in,strSQL_se;
//查询
strSQL_se.Format("SELECT * FROM tagdata WHERE tagdataid = '%s'",s);
m_pRecordset=m_pConnection->Execute((LPCTSTR)strSQL_se,NULL,adCmdText);
if(!m_pRecordset->adoEOF)
{
newdlg dlg;
dlg.DoModal();
strSQL_in=(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("tagdatasj"); 
GetDlgItem(IDC_EDIT1)->SetWindowText(strSQL_in);
MessageBox(strSQL_in,"提示",MB_OK);
}
else
////插入
{
MessageBox("数据内没有此标签,请输入内容!","提示",MB_OK|MB_ICONWARNING);
}
}

解决方案 »

  1.   

    弄一个全局变量 ,在弹出的dialog里面的WM_SHOWWINDOW消息响应函数里面显示这个全局变量的内容,在弹出的dialog里面的OnOK里面将用户输入的数据存储到这个全局变量中第一个dialog使用这个全局变量。
      

  2.   

    如何在一个对话框中单击一个按钮弹出另一个对话框这个问题很简单,  在单击响应函数中加入
    CYourDlg dlg;
    if(IDOK == dlg.DoModal())
    {
    // TODO:
      

  3.   

    至于全局变量吗???风格不好变量放第一个对话框中, DoModal()之前,SetParent一下,然后就可以用了啊