一般说来这是你的SQL语句出错了。
从外部执行一下你的SQL,看是否有问题。给你贴个例程看:
void CISAMExtension::Default(CHttpServerContext* pCtxt)
{
CString strOutput; try
{
CDatabase db;
db.OpenEx(szConnectString, CDatabase::noOdbcDialog | CDatabase::openReadOnly); CImagesRS ImagesRS(&db); if (ImagesRS.Open())
{
if (ImagesRS.IsBOF())
*pCtxt << _T("Sorry, no images are available at this time.\r\n");
else
{
CString szId;
itoa(ImagesRS.m_image_id, szId.GetBuffer(10), 10);
szId.ReleaseBuffer();
CString strResource;
CString strOutput;
LoadLongResource(strResource, IDR_FRAMESET);
CString strListFrame = CString(szLocation) + CString(_T("?")) + CString(_T("GetListFrame"));
CString strDataFrame = CString(szLocation) + CString(_T("?")) + CString(_T("GetDataFrame&")) + szId;
strOutput.Format(strResource, strListFrame, strDataFrame); *pCtxt << strOutput;
}
ImagesRS.Close();
}
else
*pCtxt << _T("Couldn't open the record set\r\n"); db.Close();
}
catch (CDBException* pEx)
{
*pCtxt << _T("Browser Failed: Couldn't open image data source\r\n"); TCHAR szError[1024];
if (pEx->GetErrorMessage(szError, sizeof(szError)))
{
*pCtxt << szError;
*pCtxt << _T("\r\n");
}
pEx->Delete();
}
}