char* strComputerName=_com_util::ConvertBSTRToString(ComputeName);
char* strContent=_com_util::ConvertBSTRToString(Content);
char strCmd[1024]="";
sprintf(strCmd,"INSERT INTO SerKnowledge(QuestionID,ComputerNameSource,Content,Answered) VALUES(%u,%s,%s,%u)",ID ,strComputerName ,strContent ,MyFlag);
_bstr_t bstrCmd=strCmd;
这五句话有没有错?
执行m_RsPtr=m_ConnPtr->Execute("select * from SerKnowledge",...没有错!
执行m_RsPtr=m_ConnPtr->Execute( bstrCmd ,&vRowsAffected,adCmdText)出错!
难道sql语句的问题?
大家看一下!

解决方案 »

  1.   

    你这样写sql语句就没有用到ado的功能呀,你还是不应该这样写看看出错信息就好了
      

  2.   

    估计是你的SQL语句有问题
    你写一个完整的SQL语句先调试通过了,在使用变量替换
    这样容易找到出错的部分
      

  3.   

    9494,不过他没有写错误提示,也不知道到底是不是sql的问题
      

  4.   

    IDispatch error #3088
    To song1014:我是啊!认识?
      

  5.   

    以前用
    CString strCom1=_T("");
    strCom1.Format(.....)
    没有问题。会不会是ansi和unicode的原因!
    to liqian108:
      你这样写sql语句就没有用到ado的功能呀,你还是不应该这样写看看出错信息就好了.
      请教我应该如何写,谢谢
      

  6.   

    问题终于解决了,但还是想不太通
    将VALUES(%u,%s,%s,%u)改成VALUES(%u,'%s','%s',%u)
    相当感谢大家的帮助,谢谢!
    http://www.csdn.net/expert/topic/672/672470.xml?temp=.1328241
    这个问题虽然不需要了,可我还是想知道答案,有兴趣的朋友看一下,或者up一下,来着有分
    http://www.csdn.net/expert/topic/654/654523.xml?temp=.2692987
    这个问题,我有些无能为力了,希望大家提些意见和想法,谢谢惠顾,呵呵
    下午结分