这样得存储过程怎么调用啊

ykyxkhjh3 2004-07-08 12:59:05
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错误
...全文
101 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ykyxkhjh3 2004-07-08
  • 打赏
  • 举报
回复
到底扎个回事,明明在查询分析器调试通过得存储过程。在java中调用出错
我写成call.execute();
res=call.getResultSet();
结果为null,错在哪里
ykyxkhjh3 2004-07-08
  • 打赏
  • 举报
回复
one_two() :
我得存储过程是没有问题得哦。在查询分析器测试通过得。
太夸张了,竟然res=call.execute();
这句本身是错误得
wx1982333 2004-07-08
  • 打赏
  • 举报
回复
怎么来提问题啊????我有问题要问
one_two 2004-07-08
  • 打赏
  • 举报
回复
这样试试
res=call.execute();
还有你的存储过程好像有问题的,

PROCEDURE getvalidinv (
pv_busitype IN NUMBER,
}

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧