详细介绍ADO参数相关问题

ADO参数的取值依次为adInteger、adChar、adChar、adSingle,adChar;Direction参数的取值依次为adParameterIn、adParameterIn、adParameterIn、adParameterOut、adParameterOut;

成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、网站建设、邻水网络推广、微信小程序开发、邻水网络营销、邻水企业策划、邻水品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供邻水建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

对于输入ADO参数,Size的值可以根据实际数值来定,对于输出参数,最好是根据定义确定(上例中ReturnInfo参数的Size值可以取为100)。

关于获取Output的参数获取ourput参数是大家最关注的问题,同时也是最“难”的问题,因为按照书本上的写法,经常获得不了Output参数,ADO参数其实这个问题很容易解决:在调用_CommandPtr的Execute方法时,ADO参数写成cmmd->Execute(NULL, NULL, adCmdStoredProc);而不要写成RecordsetPtr rec = cmmd->Execute(NULL, NULL, adCmdStoredProc);#t#

也就是说,不取返回值(我不知道这是为什么,但是相信我,事情就是这样)。ADO参数这句执行完后,使用cmmd->Parameters->GetItem("XXXXXX")->GetValue();输出参数的名称就可以获得输出参数的值了。

以下是一个通过ADO调用存储过程的部分代码:

 
 
  1. _ParameterPtr param;
  2. param = cmmd->CreateParameter(""/*NetType*/,adTinyInt, adParamInput,
  3.     sizeof(BYTE),(BYTE)(m_nNetType+1));
  4. cmmd->Parameters->Append(param);
  5. param = cmmd->CreateParameter(""/*Name*/,adVarChar, adParamInput,
  6.    m_strName.GetLength()+1, _variant_t(m_strName));
  7. cmmd->Parameters->Append(param);
  8. param = cmmd->CreateParameter(""/*Desp*/,adVarChar, adParamInput,
  9.    m_strDesp.GetLength()+1, _variant_t(m_strDesp));
  10. cmmd->Parameters->Append(param);
  11. param = cmmd->CreateParameter("NewNetID"/*NetID*/,adInteger, adParamOutput,
  12.    sizeof(long), (long)m_nNewNetID);//返回参数,返回新建的网络的ID
  13. cmmd->Parameters->Append(param);
  14.    cmmd->CommandText=_bstr_t("GSDT_NewNet");//存储过程的名称
  15. cmmd->ActiveConnection = m_pConPtr;//需要使用的ADO连接
  16. cmmd->CommandType=adCmdStoredProc;
  17. //注意下面的一行代码,如果你写成这样,就获得不了返回参数的值
  18. //_RecordsetPtr rec = cmmd->Execute(NULL, NULL, adCmdStoredProc);
  19. //我不知道这是为什么,但事实就是这样:)
  20. cmmd->Execute(NULL, NULL, adCmdStoredProc);
  21. m_nNewNetID=(long)cmmd->Parameters->GetItem("NewNetID")->GetValue();//通过参数返回值
  22. cmmd.Detach(); 
  23. ActiveX Data Objects (ADO) enables you to write a client application to access and manipulate data in a database server through a provider.
  24. ADO's primary benefits are ease of use, high speed, low memory overhead, and a small disk footprint.
  25. This sample project is for ADODB, an implementation of ADO optimized for use with Microsoft OLE DB providers, including the Microsoft ODBC provider for OLE DB.
  26. Using this we can execute stored procedure, pass arguments and retrieve value. To use this sample you will have to create the two stored procedures mentioned below.
  27. For using this project you need MFC 5.0 OR above + ADO in your machine.
  28. {

新闻名称:详细介绍ADO参数相关问题
URL标题:http://www.csdahua.cn/qtweb/news44/294994.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网