当前位置:编程学习 > wap >>

qt 4.7 sqlserver2000 存储过程调用

如何返回存储过程的输出值呢!

 /*
    @RoomIP varchar(15),--输入,字符串,包厢IP
    @RoomID varchar(10) output,--输出,字符串,包厢编号
    @RoomName varchar(20) output,--输出,字符串,包厢名称
    @ReturnValue int output,--输出,整数,查询结果(0查询成功,其它表示查询失败)
    @ResultCausation varchar(100) output--输出,字符串,查询结果描述
   */

      query=QSqlQuery(db);
      query.prepare("?={call BL_HV_STB_ST_GetRoomInformation(?,?,?,?,?)}");
      query.bindValue(0,"192.168.10.67");

      char RoomID[10]={0},RoomName[20]={0},ResultCausation[100]={0};
      int  ReturnValue=-1;

      query.bindValue(1,RoomID,QSql::Out);
      query.bindValue(2,RoomName,QSql::Out);
      query.bindValue(3,ReturnValue,QSql::Out);
      query.bindValue(4,ResultCausation,QSql::Out);
      query.setForwardOnly(true);
      bool bFlag = query.exec();
      if (bFlag) --------------------编程问答--------------------  /*
    @RoomIP varchar(15),--输入,字符串,包厢IP
    @RoomID varchar(10) output,--输出,字符串,包厢编号
    @RoomName varchar(20) output,--输出,字符串,包厢名称
    @ReturnValue int output,--输出,整数,查询结果(0查询成功,其它表示查询失败)
    @ResultCausation varchar(100) output--输出,字符串,查询结果描述
   */
我曾经试过无数种方法尝试输出返回值,结果都是失败的。最后,我是利用数据集返回需要的输出参数。
比如这里,在存储过程的最后加上
select RoomID,RoomName ,ReturnValue,ResultCausation;
补充:移动开发 ,  Qt
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,