在VIEW中的OnInitialUpdate()创建了edit控件在视图中显示现在想通过另一个对话框的OnOk()函数,当点击对话框的确定时,把edit中的文本也存入数据库,我自己在OnOk()中用赋值,但是数据表中的字段没有改变。这么做是不是不行啊?点对话框确定的时候能有办法把edit的文本一块存入吗??

解决方案 »

  1.   

    你在另一个对话框得到了edit中的内容没有?如果得到了写入数据库即可。
      

  2.   

    我自己在OnOk()中用赋值,楼主这是什么意思啊,把代码贴出看看。
      

  3.   


    我怀疑是没有取得,在OnInitialUpdate()里创建的时候都是空的,我想当运行程序后在EDIT中输入内容,然后把输入的内容存数据库。取得edit内容的语句应该写在哪里呢?那个对话框的每个函数里面吗?
      

  4.   


    pView->m_PointSetSet.m_FLCou=m_FLCou; pView是View类的指针,m_PointSetSet.m_FLCou是数据表的一个字段,m_FLCou是得到的视图中Edit的文本内容。其他对数据库操作的语句都有,那个对话框中的控件的内容能准确存数据库的。现在就是视图中edit的内容存不了,我怀疑是没有得到edit的内容
      

  5.   

    pView->m_PointSetSet.m_FLCou=m_FLCou;在这打个断点,单步调试看看,m_FLCou是不是有内容。
      

  6.   

    后来我试了下,把一个有内容的CString赋给pView->m_PointSetSet.m_FLCou,确定后数据库还是没有改变。
    是不是对话框的确定OnOk()无法响应这个保存呢?那么我在视图中显示的EDIT控件的内容如何保存到数据库呢(通过一个按钮,菜单栏的也行)?这种在视图中显示的EDIT控件有怎么和变量关联起来比较方便呢?我用的是GetDlgItemText()
    问题比较多,请指教哦!
      

  7.   

    测试一下
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
      

  8.   

    我今天又试了下,是我弄错了,不好意思,根本原因还是我没有得到创建的控件中的内容。视图中的edit控件是在VIEW中的OnInitialUpdate()中建的,my_Edit.Create(……),my_Edit在VIEW的头文件中声明的。在
    OnInitialUpdate()可以得到my_Edit的内容,但是在其他函数中得不到(都是通过GetDlgItemText())。那么在其他函数中该如何访问创建的这个EDIT控件的内容呢??麻烦兄弟了啊!
      

  9.   

    我根据你的思路也写了个,可以取得视图中EDIT中的内容,没有什么问题。
    主要代码:void CTestMFCView::OnInitialUpdate()
    {
    CView::OnInitialUpdate(); m_edit1.Create(WS_VISIBLE|WS_CHILD|WS_BORDER,CRect(200,20,280,40),this,12345); //视中创建EDIT
    }void CAboutDlg::OnBnClickedButton3()
    {
    CMainFrame* pMwnd = (CMainFrame*)theApp.m_pMainWnd;
    CTestMFCView* pView = (CTestMFCView*)pMwnd->m_SplitWnd.GetPane(1,0);
    CString str;
    pView->GetDlgItemTextW(12345,str); //取得视中EDIT的内容。
    SetDlgItemText(IDC_COMBO1,str);  //通过对话框COMBOBOX控件显示出来。
    }