m_commandptr->Parameters->Append(m_commandptr->CreateParameter("code",adBSTR,adParamInput,6,param[0]));
我的代码,加了参数,无参数,则省略?号
m_commandptr->Parameters->Append(m_commandptr->CreateParameter("code",adBSTR,adParamInput,6,param[1]));
m_commandptr->Parameters->Append(m_commandptr->CreateParameter("code",adBSTR,adParamInput,6,param[2]));
m_commandptr->CommandText="{call yj.prcpcquerysellcard(?,?,?)}";
_variant_t filed;
m_commandptr->CommandType =adCmdUnknown;
m_pUserSet=m_commandptr-> Execute( NULL,NULL,adCmdUnknown);

解决方案 »

  1.   

    我采用了ADO,这是我的代码:(省略了实始化)
    m_commandptr->Parameters->Append(m_commandptr->CreateParameter("code",adBSTR,adParamInput,6,param[0]));
    m_commandptr->Parameters->Append(m_commandptr->CreateParameter("code",adBSTR,adParamInput,6,param[1]));
    m_commandptr->Parameters->Append(m_commandptr->CreateParameter("code",adBSTR,adParamInput,6,param[2]));
    m_commandptr->CommandText="{call yj.prcpcquerysellcard(?,?,?)}";
    _variant_t filed;
    m_commandptr->CommandType =adCmdUnknown;
    m_pUserSet=m_commandptr-> Execute( NULL,NULL,adCmdUnknown);
      

  2.   

    请问 ZHENG017(风中王子)
    Oracle 提供给VC 处理存储过程的类叫什么...
      

  3.   

    你用什么接口?
    我在用 oci 可以用的
      

  4.   

    COciCursor  cur;  
    TStr        m_sql;  //自定义的字符串类 m_sql是一个SQL语句
    TDatabase   db;     //连接Oracle数据库的类cur.Open(*db.pdb);
    cur.Parse(m_sql.CStr());
    cur.Exec();
    db.pdb->Commit();
    上面的代码可以提交delete、update
    为什么不能提交execute  
    痛苦...
      

  5.   

    to guostong(笨驴)
    我用的就是oci接口,但不会提交存储过程,帮帮忙吧
      

  6.   

    to ZHENG017(风中王子)
    公司里关了QQ的端口。你的ADO我有点看不懂,菜的要命...
    能写的详细一点吗...我的东西就是要实现提交存储过程...太难了,头痛
      

  7.   

    to ZHENG017(风中王子)多谢了!!!
      

  8.   

    to guostong(笨驴)
    我想一定是我的oci类(COciCursor)不支持提交存储过程,
    请问调用那个OCI类可以达到目的...
      

  9.   

    我已经E出去了.
    希望对你有帮助.
    注意,需要安装ORACLE的客户端.当然你是安装了ORACLE服务器就包括了.
      

  10.   

    还是只能提交delete、update SQL,不能提交存储过程
    把代码贴上,希望大伙帮我分析一下错误在那里...COciCursor      cur;
    COciDatabase    *pdb;cur.Open(*pdb);          //打开数据库
    cur.Parse(m_sql.CStr()); //写入SQL
    cur.Exec();              //执行
    pdb->Commit();           //提交COciCursor和COciDatabase都是继承COciObject    
      

  11.   

    class OCIAPI COciObject
    {
       protected:
          int m_IsConnected;      // "connected" flag
          int m_ExceptionEnabled; // "exception enabled" flag
          int m_TraceEnabled;     // If TRUE enables the code    public:
     
          COciObject()
          {
             m_IsConnected = FALSE; 
             m_ExceptionEnabled = COciException::enabled;
             m_TraceEnabled = FALSE;
          };      virtual ~COciObject() 
          {
          };      virtual void TraceEnable(int enflag)
          {
             m_TraceEnabled = enflag;
          }      virtual void OciTrace(const char *szmsg)
          {
             if ( IsTraceEnabled() )
             {
                puts( szmsg );
                puts( "\r\n" );
             }
          }      virtual int IsTraceEnabled()
          {
             return m_TraceEnabled;
          }};
      

  12.   

    这里正好有一篇文章适合你:http://www.vckbase.com/article/mfc_database/0152692838.htm
    使用ADO执行存储过程
      

  13.   

    多谢vcbear(一只平凡无知的熊)!
    我用了使用ADO执行存储过程的示例工程,可是在  Bety File 中键入存储过程的名称没有反映,该如何处理呢?
      

  14.   

    问题解决了,多谢ZHENG017(风中王子)和帮助我的人...