我的存储过程传不出参数,提示"provider no exported"(100分)

  • 主题发起人 主题发起人 风清云淡
  • 开始时间 开始时间

风清云淡

Unregistered / Unconfirmed
GUEST, unregistred user!

我的存储过程传不出参数,提示"provider no exported"
 
存储过程的参数要设为 output
 
已经设了.
在sql server 中用查询器运行,用print语句执行.
可显示
就是在delphi中不行
 
在存储过程中定义的时候要设定为output
调用的时候也要在参数上加output,否则还是不会回传参数的。例如调用时:

exec pro_bb aa output,bb output
这种写法我在存储过程中用过,但在delphi中没用过不知道行不行,你试一下吧。
 
我是在clientdataset 中
with clientdataset do
begin
params.clear;
p1:=tparam.create(params,ptinput);

p2:=tparam.create(params,ptinputoutput);

params[0].name;='@dm';//输入

params[0] .datatype:=ftstring;

params[0] .paramtype:=ptinput;


params[1].name:='@count';//输出

params[1] .datatype:=ftinteger;

params[1] .paramtype:=ptinputoutput;
execute

n:= params.parambyname('@count') .asinteger //输出count


end




 
这个问题不知道什么原因.我把控件删了再做一次没问题.

分还没有送出去.我还有一个问题.
sqlserver的全文搜索有什么特殊的软件要求吗?
我写了一个,提示如下;不知道是什么原因,我看到有些书说 要启动
microsoft search服务

use biyelw
go
if (select databaseproperty('biyelw','isfulltextenables '))=0
execute sp_fulltext_database 'enable'
execute sp_fulltext_catalog 'ft_biyelw','create'
execute sp_fulltext_table 'qwxx','ft_biyelw','upkcl_titleidind'
execute sp_fulltext_column 'qwxx','qwxx','add'
execute sp_fulltext_table 'ft_biyelw','active'
execute sp_fulltext_catalog 'ft_biyelw','start_full'
go

while fulltextcatalogproperty('ft_biyelw','populatestatus')<>0
begin
waitfor delay '0:0:30'
end

select wjh
from qwxx
where contains(qwxx,'输入关键字')












服务器: 消息 15601,级别 16,状态 1,过程 sp_fulltext_catalog,行 17
没有为当前数据库启用全文检索。请用 sp_fulltext_database 来启用全文检索。
服务器: 消息 15601,级别 16,状态 1,过程 sp_fulltext_table,行 11
没有为当前数据库启用全文检索。请用 sp_fulltext_database 来启用全文检索。
服务器: 消息 15601,级别 16,状态 1,过程 sp_fulltext_column,行 12
没有为当前数据库启用全文检索。请用 sp_fulltext_database 来启用全文检索。
服务器: 消息 15601,级别 16,状态 1,过程 sp_fulltext_table,行 11
没有为当前数据库启用全文检索。请用 sp_fulltext_database 来启用全文检索。
服务器: 消息 15601,级别 16,状态 1,过程 sp_fulltext_catalog,行 17
没有为当前数据库启用全文检索。请用 sp_fulltext_database 来启用全文检索。
服务器: 消息 7601,级别 16,状态 2,行 7
无法在 表 'qwxx' 上使用 CONTAINS 或 FREETEXT 谓词,因为没有为它建立全文索引。
 
你用TSQL试过没问题那就是了,试试我这个
ADOStoredProc1.Close;

ADOStoredProc1.ProcedureName := 'CP_SV_AutoPhoneList';
ADOStoredProc1.Parameters.Clear;
ADOStoredProc1.Parameters.CreateParameter('Phone',ftString,pdInput,20,'1371234567');
ADOStoredProc1.Parameters.CreateParameter('Type',ftString,pdInput,1,'2');
ADOStoredProc1.Parameters.CreateParameter('Ret',ftString,pdOutput,10,'100');
ADOStoredProc1.ExecProc;
ShowMessage(ADOStoredProc1.Parameters[0].Value+' '+ADOStoredProc1.Parameters[1].Value+' '+ADOStoredProc1.Parameters[2].Value);
 
多人接受答案了。
 
后退
顶部