存储过程 返回值 ( 积分: 20 )

  • 主题发起人 主题发起人 superzls
  • 开始时间 开始时间
S

superzls

Unregistered / Unconfirmed
GUEST, unregistred user!
在存储过程中,怎么返回值(某个值,或者是数据集)<br>delphi中用BED的,用query或者StoredProc1又该怎么接收返回值,谢谢<br>如<br>CREATE&nbsp;&nbsp;&nbsp;PROCEDURE&nbsp;Ddsh<br>(@bb&nbsp;varchar(2000),这里是不是要定义返回值类型??)<br>Begin<br>&nbsp;&nbsp;经过一系列处理<br>&nbsp;&nbsp;.....<br>&nbsp;&nbsp;;;;;<br>&nbsp;&nbsp;select&nbsp;姓名,年龄&nbsp;from&nbsp;#table<br>&nbsp;&nbsp;我就想把这个数据集返回<br>end<br><br><br>假如我在程序中用query1调用&nbsp;在存储过程的话,这个语句又该怎么写
 
如果要想返回一个数据集或者某一个值,最好在SQLServer里定义一个自定义函数,再用Query或者StoredProc1运行调用自定义函数就可以!如:<br>create&nbsp;function&nbsp;f_GetInfo(参数)<br>return&nbsp;表名称&nbsp;table(字段名,字段类型,.....)<br>as<br>begin<br>&nbsp;&nbsp;//写入你想要返回资料的SQL执行语句块<br>return<br>end
 
没这样做过<br>你的存储过程不是还要和前台的ado控件连接起来?<br>要是返回一个值,直接&quot;&nbsp;return&nbsp;数值&nbsp;&quot;&nbsp;就可以了,前面用return.value&nbsp;来取出这个返回值
 
CREATE&nbsp;&nbsp;&nbsp;PROCEDURE&nbsp;Ddsh<br>(@bb&nbsp;varchar(2000),这里是不是要定义返回值类型??)<br>Begin<br>&nbsp;&nbsp;经过一系列处理<br>&nbsp;&nbsp;.....<br>&nbsp;&nbsp;;;;;<br>&nbsp;&nbsp;select&nbsp;姓名,年龄&nbsp;from&nbsp;#table<br>&nbsp;&nbsp;我就想把这个数据集返回<br>end<br><br>就这样子就返可以查出来啊
 
在存储过程中,要通过参数来返回一个数据集是不可以做到的,最多也就是在存储过程中,创建一个临时表来存储数据,然后,再从这个临时表中读取数据,建议你还是在SQLSERVER中定义一个用户自定义函数,正如我前面所说那样就可以返回一个数据集!
 
按gxf1681說的做沒問題。
 
哈哈,没问题就给分!
 
返回数据集,我也是创建一个临时表来完成的!<br>要是返回一个值,或者返回确定数量的值.那就要在存储过程中定义每个要返回的值及其数据类型.<br>例:<br>create&nbsp;procedure&nbsp;temp<br>&nbsp;@V1&nbsp;nvarchar(50)&nbsp;output;<br>&nbsp;@V2&nbsp;int&nbsp;output;<br>AS<br>在storedproc回调返回值时,其调用方式与向存储过程写入参数是一样的.不同的地方是写入参数时为pdinput,返回值为pdoutput.<br>具体请多看看DELPHI的帮助,呵呵!
 
请谢大家帮忙,问题已经解决
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部