CMember Search;
CString strSQL=_T("");
CSearchMember dlg;
if(IDOK == dlg.DoModal())
{
if((dlg.m_strMemID == "")&&(dlg.m_strName == ""))
{
AfxMessageBox("查询条件非法!");
return;
}
else
{
if(!dlg.m_strMemID.IsEmpty ())
strSQL+="(员工编号=?)";
else
strSQL+="(?)"; if(!dlg.m_strName.IsEmpty())
strSQL += "AND(姓名=?)";
else
strSQL +="AND(?)";
}
Search.m_strFilter = strSQL;
Search.m_memID = dlg.m_strMemID;
Search.m_name = dlg.m_strName;
Search.m_strSort = "ID ASC";
try
{
Search.Open();
while(!Search.IsEOF())
{
Search.MoveNext();
} UpdateData(FALSE);
if(Search.GetRecordCount()==0)
MessageBox("查无此记录,请重新输入查询","记录查询");
Search.Close();
}
catch(CDBException *theException)
{
AfxMessageBox(theException->m_strError );
}
}
在Open的时候,catch 抛出这样的提示:COUNT 字段不正确,请问为什么??
CString strSQL=_T("");
CSearchMember dlg;
if(IDOK == dlg.DoModal())
{
if((dlg.m_strMemID == "")&&(dlg.m_strName == ""))
{
AfxMessageBox("查询条件非法!");
return;
}
else
{
if(!dlg.m_strMemID.IsEmpty ())
strSQL+="(员工编号=?)";
else
strSQL+="(?)"; if(!dlg.m_strName.IsEmpty())
strSQL += "AND(姓名=?)";
else
strSQL +="AND(?)";
}
Search.m_strFilter = strSQL;
Search.m_memID = dlg.m_strMemID;
Search.m_name = dlg.m_strName;
Search.m_strSort = "ID ASC";
try
{
Search.Open();
while(!Search.IsEOF())
{
Search.MoveNext();
} UpdateData(FALSE);
if(Search.GetRecordCount()==0)
MessageBox("查无此记录,请重新输入查询","记录查询");
Search.Close();
}
catch(CDBException *theException)
{
AfxMessageBox(theException->m_strError );
}
}
在Open的时候,catch 抛出这样的提示:COUNT 字段不正确,请问为什么??
解决方案 »
- SOCKET 如何实现异步编程,大家给帮忙指导一下!
- 【求助】常规DLL中显示资源中的对话框不正常!
- 位图的左上角和右上角带有一个白色小区域 怎么去掉啊!
- 初学者问题?
- 对话框A如何向对话框B发送消息,在线等......
- <讨论>BT软件开发的原理
- 急请帮忙谢谢
- Access violation at address 77e673bc in module 'kernel32.dll'.Write of address 00452128
- 有关VC++调试问题,各位大侠帮个忙啊!小弟是新手!
- 非常非常紧急的问题!!不搞定肯定被炒!!!
- 俺想做一个WEB页面表单自动提交的程序,谁有思路?
- ATL中怎样使用 微软form控件2.0???
if(!dlg.m_strMemID.IsEmpty ())
strSQL+="(在这里加个空格)(员工编号=?)";
else
strSQL+="(在这里加个空格)(?)";以下的语句类似,试试。