m_pRecordset好像没有设置ActiveConnection吧?

解决方案 »

  1.   

    初学的话可以参考下这里的例子
    可以用ADO助手试试你的数据库连接字符串和SQL语句。
    或者加异常捕获看是什么错误
    try
    {
    //你的ADO代码
    }
    catch (_com_error& e)
    {
    CString strMsg;
    strMsg.Format(_T("错误描述:%s\n错误消息%s"), 
    (LPCTSTR)e.Description(),
    (LPCTSTR)e.ErrorMessage());
    AfxMessageBox(strMsg);
    }
      

  2.   

    可以用ADO助手试试你的数据库连接字符串和SQL语句。

    按照您空间ADO的使用方法测试如下:
    Quote:
      

  3.   

    SQL语句测试用CString::Format后的字符串。
      

  4.   

    rs->Open(_bstr_t("Invoices"),(IUnknown*)cntX,adOpenStatic,adLockBatchOptimistic,-1);
    //rs,记录集智能指针
    //cntX,连接只能指针
      

  5.   

    SQL命令用Format后的全部字符的话,报错
    这是ADO内的相关数据
      

  6.   

    但你的strSql估计不对,将串的值贴出来看看,别老使用贴图,用文本回复吧
      

  7.   

    CString  strSql;
    strSql.Format("SELECT TOP 1 [time],[soil_moisture] FROM DataSheet WHERE ([position] = '%s') AND (not [soil_moisture] is NULL) ORDER BY [time] DESC",str4);
      

  8.   

    还有 strSql.Format("SELECT [time],[%s] FROM DataSheet WHERE [time] BETWEEN '%s' AND (not [%s] is NULL)AND [position] = '%s')ORDER BY [time]",strParameter,start_time,stop_time,strParameter,strloc);
    其他调用的地方都类似,谢谢啦
      

  9.   

    SQL语句不对,可以先在SQL SERVER的查询分析器中先测试好再来移植到程序上。
      

  10.   


    你把format好之后的串贴出来
      

  11.   

    谢谢!不好意思哦,我没明白您的意思..
    我没有改动程序的任何语句,只是把format之后的语句在SQL的查询分析器里测试