首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

JAVA调用用户自定义的函数解决方法

2012-01-29 
JAVA调用用户自定义的函数Sessionsthis.getSessionFactory().openSession()Connectioncons.connection(

JAVA调用用户自定义的函数
Session   s=this.getSessionFactory().openSession();  
Connection       con=s.connection();              
String       procedure       =   "{?=call     fcm(?)} ";                  
  CallableStatement   cstmt;
try   {
  cstmt   =   con.prepareCall(procedure);
  cstmt.setString(2,companyid);    
  cstmt.registerOutParameter(1,java.sql.Types.VARCHAR   );//函数返回两个值
  cstmt.registerOutParameter(2,java.sql.Types.VARCHAR   );
  boolean   b=cstmt.execute();
  String   retValue   =   cstmt.getString(1);
  String   retvalue2=cstmt.getString(2);
}   catch   (SQLException   e)   {
  e.printStackTrace();
return   null;}finally{s.close();}              

执行总是报这样的错(数据库是SQL   SERVER2000):
过程   'fcm '的请求失败,因为   'fcm '   是   函数   对象。
路过的朋友如果知道请解答一下,不胜感激!

[解决办法]
两个?,当然设两个参数值!找不到存储过程!你先搞清楚存储过程!
[解决办法]
SQL server调用函数的时候要加函数的所有者吧,如:dbo.fmt()

[解决办法]
因为 'fmt '是 函数 对象。


一看这句话就知道,不是这样调用函数的或者是不能请求函数对像啊,你写一个存储过程,然后在存储过程里调用这个函数,Java里调用存储过程
[解决办法]
建议还是改成存储过程吧,

热点排行
Bad Request.