CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  数据库相关

关于ADOQUERY调用SQL SERVER 里的存储过程的问题....

楼主yonge23(东方一剑)2005-04-14 20:08:36 在 Delphi / 数据库相关 提问

ADOQUERY调用SQL   SERVER   里的存储过程的时,,,存储过程的返回值,程序要怎么去捕捉它.!?  
  我的存储过程如下:  
  /*  
  功能描述:判断给定的@Ad_ID   nvarchar(3),@Ad_Password   nvarchar(20)是否为合法用户.  
  参数表:@Ad_ID   nvarchar(3),@Ad_Password   nvarchar(20)  
  返回值:若用户名或密码为空返回-1,为合法用户返回1,否则返回0。  
   
  */  
  CREATE   PROCEDURE   sp_ADM_Login      
  @Ad_ID   nvarchar(3),  
  @Ad_Password   nvarchar(20)  
  AS  
  if   @Ad_ID=''   or     @Ad_Password=''  
  return   -1  
  select   *   from   admin   where   Ad_id=@ad_id   and   Ad_Password=@Ad_Password  
  if   @@rowcount<>0  
  return   1  
  else  
  return   0  
  GO  
   
   
      with   M_DataModule.ADOQuery   do  
      begin  
          Close;  
          Sql.Clear;  
          Sql.Add('Exec sp_Adm_Login   "'+User_ComboBox.Text+'","'+Pass_Edit.Text+'"');  
          Parameters.CreateParameter('@Retrun_Value',ftinteger,pdReturnValue,0,0);  
          ExecSql;  
          Showmessage(inttostr(Parameters.ParamByName('@Retrun_Value').Value));  
      end;    
   
   
  可是这样取到的返回值每次都是0.  
  显然这种方法有错...  
   
  有哪位大哥能指点一下是哪错了!?????????????????? 问题点数:20、回复次数:11Top

1 楼yonge23(东方一剑)回复于 2005-04-14 20:54:43 得分 0

在线等...有人知道吗!~??????????????????Top

2 楼yonge23(东方一剑)回复于 2005-04-14 21:28:58 得分 0

郁闷ING.../Top

3 楼feizi10512(小米飞子)回复于 2005-04-14 21:34:41 得分 0

顶~我也遇到了这个问题..........  
   
  望高手指点~~~~~~~~~~~~~~~~~Top

4 楼yonge23(东方一剑)回复于 2005-04-14 22:46:44 得分 0

救命啊....Top

5 楼yonge23(东方一剑)回复于 2005-04-15 10:48:46 得分 0

咋地没人救命啊.Top

6 楼squaref(江南雨狐)回复于 2005-04-18 22:05:03 得分 5

你在表单上用一个adoprocedure,对应属性里选择你的存储过程,然后点击一下属性里的parameters,点开之后,把最上面的@returnvalue删掉;然后你就直接对这个adoprocedure操作就行;            
  比如:with   adoprocedure   do      
          begin  
              Parameters.ParamByName('@...').Value   :=   ..  
              Parameters.ParamByName('@...').Value   :=   ..  
              Execproc;     //or     open;  
          end;Top

7 楼feizi10512(小米飞子)回复于 2005-04-19 09:00:53 得分 5

TO:Squsref  
  能否告知一下用ADOQuery如何得到存储过程的Return值.Top

8 楼huanyi(残荷淡月)回复于 2005-04-19 10:26:05 得分 0

试试ADOQuery.fields[0].asintegerTop

9 楼feizi10512(小米飞子)回复于 2005-04-19 13:09:01 得分 0

不行,这是第一个字段的值.Top

10 楼squaref(江南雨狐)回复于 2005-04-20 07:24:01 得分 5

你返回的是return的值,那你先不要把@return那个返回值删掉看看呢;然后用fields[0].value获取看看;Top

11 楼dreamover(梦醒了〖http://hellfire.cn〗)回复于 2005-04-20 08:48:19 得分 5

(江南雨狐)   什么乱七八糟的,  
  你答的好像和人问的不是一回事吧Top

相关问题

  • 关于ADOQUERY调用SQL SERVER 里的存储过程的问题....
  • 关于用adoquery调用存储过程
  • Ado调用Sql server7.0存储过程
  • asp调用sql存储过程问题
  • 关于调用存储过程(SQL SERVER)
  • ※ Asp 中调用 Sql Server 存储过程 ※
  • odbc调用sql存储过程出错
  • SQL存储过程中调用 xmlhttp
  • SQL中存储过程调用存储过程,怎么取返回值
  • 存储过程调用存储过程

关键词

  • 存储过程
  • 用户
  • sql
  • adoquery
  • adoprocedure
  • ad
  • 返回
  • parambyname
  • nvarchar
  • 值

得分解答快速导航

  • 帖主:yonge23
  • squaref
  • feizi10512
  • squaref
  • dreamover

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo