热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

delphi7调用二个参数的存储过程问题????

有sqlserver2000的存储过程如下:当只有一个参数时能正常执行,在DBGrid显示符合条件的数据。当增加一个参数,用于辨别要查询字段,就出错不知何故???请高手给予正确代
有sql server 2000 的存储过程如下:
当只有一个参数时能正常执行,在DBGrid显示符合条件的数据。
当增加一个参数,用于辨别要查询字段,就出错
不知何故???
请高手给予正确代码。


CREATE PROCEDURE xscx
@cxz varchar(50),
@dm varchar(20)      <---增加
AS
if @dm='编码'
begin
SELECT x_djrq,x_djbh,x_spbm,x_spmc,x_sl,x_zhdj,x_zhje,x_id FROM xsdb where x_spbm like '%'+@cxz+'%'
end
if @dm='名称'
begin
SELECT 
x_djrq,x_djbh,x_spbm,x_spmc,x_sl,x_zhdj,x_zhje,x_id FROM xsdb where x_spmc like '%'+@cxz+'%'
end
GO


 with xc.ADODataSet1 do
 begin
  Active:=false;
  CommandType:=cmdStoredProc;
  CommandText:='xscxwlmxwr';
  Parameters.Clear;
  Parameters.AddParameter;
  Parameters[0].Name:='@cxz';
  Parameters[1].Name:='@dm';   <----增加
  Parameters[0].Direction:= pdInput;
  Parameters[1].Direction:= pdInput; <----增加
  Parameters[0].DataType:=ftString;
  Parameters[1].DataType:=ftString;  <----增加
  Parameters.Refresh;
  Parameters.ParamByName('@cxz').Value:=trim(Edit1.Text);
  Parameters.ParamByName('@dm').Value:=trim(Edit2.Text);   <----增加
  Active:=true;
  ExecuteOptions;
 end;

出现错误:list index out of bounds(1),

7 个解决方案

#1


存储过程名为xscx 
CommandText:='xscx'; 

#2


对于存储过程,使用之前先要用代码去创建参数

#3


ADOStoredProc1.Parameters.CreateParameter()

#4


ADODataSet1.close;
ADODataSet1.commandtext:='exec xscx '+QuotedStr(trim(Edit1.Text))+','+QuotedStr(trim(Edit2.Text));
ADODataSet1.open;

#5


我给你一段例子代码,供你参考

var
  Cmd: TADOCommand;
  iReValue: Integer;
begin
  Cmd := TADOCommand.Create(nil);
  try
    Cmd.Connection := AdoCon;
    Cmd.CommandText := 'xscx';
    Cmd.CommandType := cmdStoredProc;
    Cmd.Parameters.CreateParameter('@cxz', ftString, pdReturnValue, 50, '值');
    Cmd.Parameters.CreateParameter('@dm', ftString, pdInput, 20, '值');
    Cmd.Execute;
  finally
    Cmd.Free;
  end;
end;

#6


引用 3 楼 bdmh 的回复:
ADOStoredProc1.Parameters.CreateParameter()
 ---

#7


自己解决了
 with  xc.ADODataSet1 do
 begin
   Active:=false;
   CommandType:=cmdStoredProc;
   CommandText:='cx_wr';
   Parameters.Clear;
    //中间不要写 ,CommandText有几个参数自动会认
   Parameters.Refresh;
   Parameters.ParamByName('@dm').Value:=trim(combobox1.Text);
   Parameters.ParamByName('@cxz').Value:=trim(edit1.Text);
   Active:=true;
   ExecuteOptions;
  end;


结贴,给分。

推荐阅读
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 本文介绍了一个题目的解法,通过二分答案来解决问题,但困难在于如何进行检查。文章提供了一种逃逸方式,通过移动最慢的宿管来锁门时跑到更居中的位置,从而使所有合格的寝室都居中。文章还提到可以分开判断两边的情况,并使用前缀和的方式来求出在任意时刻能够到达宿管即将锁门的寝室的人数。最后,文章提到可以改成O(n)的直接枚举来解决问题。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • 解决.net项目中未注册“microsoft.ACE.oledb.12.0”提供程序的方法
    在开发.net项目中,通过microsoft.ACE.oledb读取excel文件信息时,报错“未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序”。本文提供了解决这个问题的方法,包括错误描述和代码示例。通过注册提供程序和修改连接字符串,可以成功读取excel文件信息。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
author-avatar
山人
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有