急就这么多分,全给了! VC6.0中为啥给水晶报表设置SQL语句无效?

急急急!!!就这么多分,全给了! VC6.0中为什么给水晶报表设置SQL语句无效??????????????????
VC6.0中为什么给水晶报表设置SQL语句无效??????????????????

以下为我的代码:
IApplicationPtr m_Application;  
IReportPtr m_ReportPtr; 
CCrystalReportViewer9 m_CRViewer1;

int ReportDlg::InitReport()
{
//实例化m_Application 
m_Application.CreateInstance (__uuidof(Application)); 

//m_Report获取报表文件
m_ReportPtr =m_Application->OpenReport ("Report.rpt");

//设置报表标题 
m_ReportPtr->put_ReportTitle (_bstr_t("收支总汇表")); 

//设置数据库连接变量 
try
{
m_ReportPtr->Database->Tables->Item[1]->SetLogOnInfo("KENNY","CardDB","sa","sa"); 
}
catch (_com_error err) 
{
AfxMessageBox(err.Description()+err.ErrorMessage());
return -1;
}

//设置检索SQL命令 
m_ReportPtr->put_SQLQueryString ((_bstr_t)"select * from Tbl_Pers");
  //此句为什么没有起到作用?SQL语句没有改变!
  //此句为什么没有起到作用?SQL语句没有改变!



//不显示重复字段 
m_ReportPtr->PutEnableSelectDistinctRecords (TRUE); 

//设置报表作者 
m_ReportPtr->PutReportAuthor ("sure"); 

//将m_Report与报表控件连接 
m_CRViewer1.SetReportSource(m_ReportPtr);

//显示报表工具条 
m_CRViewer1.SetDisplayToolbar (TRUE); 

//不显示报表左边的分组树 
m_CRViewer1.SetDisplayGroupTree (FALSE); 

//不显示控件边框 
m_CRViewer1.SetDisplayBorder (FALSE);

//显示报表内容 
m_CRViewer1.ViewReport(); 

//刷新数据 
m_CRViewer1.Refresh (); 

m_CRViewer1.Zoom(75);

return 0;
}


高手来帮帮忙呀,
为什么“m_ReportPtr->put_SQLQueryString ((_bstr_t)"select * from Tbl_Pers");”语句没有起作用???
我通过“CString str = (char*)(_bstr_t)m_ReportPtr->GetSQLQueryString();”读出来的还是以前设计时的语句。



------解决方案--------------------
参考本版精华帖:
http://topic.****.net/u/20080409/20/b92b5650-c88b-4261-8e1e-701c98a7e335.html