这样得存储过程怎么调用啊
CREATE PROCEDURE retup_wordsearch
(
@searchinfo varchar(100) --书籍的ID
--@result varchar(8000) output --添加一个返回参数
)
as
create table searchdata(kind varchar(20),content text)
insert into searchdata values('search','')
declare @result varchar(8000)
declare @realitem int --条目数
declare @LID varchar(50) --词库编号
declare @LName varchar(50) --词库名称
declare @sign1 char,@sign2 char --数据和字段间分隔符号
set @sign1=char(0x01) --数据间的分隔符号
set @sign2=char(0x02) --字段间的分隔符号
set @realitem=0
set @result='' --要赋初值
--下面这句执行的顺序:是先取出(页码*每页最大条数),然后再从其中取出最后的@maxitems条--
declare mycursor cursor for select LID, LName from A_LIB_LIST where LName like '%'+@searchinfo+'%' order by LName
open mycursor
fetch next from mycursor into @LID,@LName
while @@fetch_status=0
begin
set @realitem=@realitem+1
set @result=@result+'0'+@sign2+cast(@LID as varchar)+@sign2+@LName+@sign2+@sign1
fetch next from mycursor into @LID,@LName
end
set @result=cast(@realitem as varchar)+@sign2+@sign1+@result--加上条数信息
print @result
--set @result='dddddjjjjddd'+char(0x02)+char(0x01)
declare @ptrval binary(16)
select @ptrval = TEXTPTR(content) from searchdata where kind='search'
writetext searchdata.content @ptrval @result //经测试,至少这步还是正确
select content from searchdata where kind='search'
--select len(cast(content as varchar(8000))) from A_FOR_NETSTATION where kind='search'
close mycursor
deallocate mycursor
GO
我这样调用
call =wordconn.prepareCall("{call retup_wordsearch(?)}",ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
if(call==null)
{
return(new StringBuffer("-1"+unisign+"调用存储过程失败"+unisign));
}
call.setString(1,infoString.trim());
res=call.executeQuery(); //这里出NullPointerExeception错误