数据库查询问题:参数不足
代码如下:
void CRFStationView::OnButtonQuery()
{
// TODO: Add your control notification handler code here
CString newFilter=""; //Default is no filter
UpdateData(TRUE); //Get data from dialog box
if(!m_bAddingRecord) //Currently adding?
//set to update
{
m_pSet->Edit ();
}
m_pSet->Update (); //Update data if needed
m_bAddingRecord=FALSE; //Reset flag
int i;
i=m_cbxQuery.GetCurSel ();
switch(m_cbxQuery.GetCurSel ())
{
case 0:
if(m_sedtQuery!="")
{
//Setup new filter
newFilter="UserID="+m_sedtQuery+"";
}
break;
case 1:
if(m_sedtQuery!="")
{
//Setup new filter
newFilter="UserName="+m_sedtQuery+"";
}
break;
case 2:
if(m_sedtQuery!="")
{
//Setup new filter
newFilter="RIP/CAP="+m_sedtQuery+"";
}
break;
default:
AfxMessageBox("Unknown Error",MB_ICONERROR);
return;
}
if(newFilter!=m_pSet->m_strFilter )
{
//Filter has changed
m_pSet->m_strFilter =newFilter; //Assign new filter
if(!m_pSet->Requery ())
{
//Requery
//Error occurred
AfxMessageBox("Requery has failed");
m_pSet->m_strFilter=""; //Try to get back
m_pSet->Requery (); //Requery again
}
try{
//Go to the first record of the new filter recordset
m_pSet->MoveFirst ();
}
catch(CDBException *e)
{
//Move failed because there are no records
AfxMessageBox("No records were found",MB_ICONEXCLAMATION);
e->Delete (); //Delete Error Message
//No records,so set up an add record
OnButtonAdd();
}
}
UpdateData(FALSE);
}
userid第一个字段(数字),USERNAME第二个字段(文本),RIP/CAP第四个字段(数字),使用USERID查询,正确;使用USERNAME查询,报“参数不足,期望是11”;使用CAP/RIP查询,报“参数不足,期望是2”。
不知为什么,请各位指教!
问题点数:50、回复次数:2Top
1 楼freelove1(心如止水)回复于 2002-12-25 12:42:12 得分 50
case 1:
if(m_sedtQuery!="")
{
//Setup new filter
newFilter="UserName="+m_sedtQuery+"";
}
break;
case 2:
因为你的UserID 是整型 当然不用定界符,但UserName是字符型当然就要用定界符了 你把 语句改为
case 1:
if(m_sedtQuery!="")
{
//Setup new filter
newFilter="UserName=‘"+m_sedtQuery+"’";
}
break;
case 2:
就行了 不知你的 "RIP/CAP"是什么型的
Top
2 楼noliper(NOG)回复于 2002-12-25 14:54:18 得分 0
thank you!Top




