初学,我在网上下了一个简单的实例程序可以运行,但是当我把表的主键由自动编号改成文本后(没有重复的值),再用_RecordsetPtr.open函数打开时就报错了,请问这是什么原因,哪里出问题了吗?

解决方案 »

  1.   

    是open函数的参数吗?能给我解释一下各个参数的意义吗?
      

  2.   

    报的什么错误?/
    用如下代码把你的代码包起来
    try 

        //你的代码 

    catch(_com_error &e) 

        AfxMessageBox(e.Description()); 

    看看能否捕获异常??
      

  3.   

    自动编号是数字型,而你改成了文本型后,要在条件上面加上单引号..
    如:
    原来你是:select * from test where 自动编号 = 12;
    而现在应当是:select * from test where 文本编号 = '12';
      

  4.   

    我是这样的语句:
    strSQL.Format("select * from MyIM where 用户ID=%s",m_id);
    m_id本身是CString类型的,那是不是要改成
    strSQL.Format("select * from MyIM where 用户ID='%s'",m_id);