现在我正在用ODBC作一个仓库管理系统,做查询物资这个模块时。我的构想是查询条件放在一个对话框,按下这个对话框的显示按钮后,再弹出一个对话框显示经过筛选后的物资。
但是我现在发现查询对话框的判断条件过渡不了显示对话框,请问这是什么回事?
例如,我在查询对话框,设置了查询物资名字的变量m_name;
然后我要在显示对话框判断时,那就一定要再引用这个变量来判断记录集的记录究竟是不是这个m_name。但是由于它是属于另一个对话框类的。我就先构造一个查询对话框的对象CCheckDlg checkdlg,然后再引用这个checkdlg.m_name。但现在我发现根本这样就判断不了。请问究竟是什么回事呢?

解决方案 »

  1.   

    你说得不是很清楚,看看我这么理解对不对
    在你的弹出查询对话框的按钮的消息响应函数中,这么做:CCheckDlg oCheckDlg;
    oCheckDlg.m_name = sCheckName;//这个sCheckName是需要查询的名称;
    oCheckDlg.DoModal();然后在你的CCheckDlg的OnInitDialog()函数中,用m_name设置查询条件,并且执行查询语句,显示结果这里实现了查询条件的传递,不知道你是不是要这个,呵呵
      

  2.   

    我知道错在什么地方了。多谢各位!我也是用了风清高的方法,但是我在判断条件的时候采用了==号来判断两个字符串相等的方法,所以可能是这个原因而使我不能显示查询结果。我把查询条件改为查询物资号(int)以后就可以过渡过来,并且正常显示了。是不可以直接用==来判断两个字符串相等的吧?
    那在C++中我应该用什么方法来判断两个字符串相等呢?用C里面的方法也行是吧?
    多谢了,各位!
      

  3.   

    查询语句中是不存在“==”的,只有“=”,需要注意的是如果判断的是数字类型,则后面直接跟数字,如果是字符串类型,等号后面的字符串需要加单引号。在VC中,如果是CString类型的字符串,是可以直接用“==”来判断是否相等的
      

  4.   

    用=,字符串用CString的Format 字符串用%s代替