日期:2014-05-20  浏览次数:20804 次

java如何调用sql过程以及接收sql中没指明output返回的参数值
CREATE     PROCEDURE   AMadAdd  

@UserID   int,
@Title   varchar(100),
@adUrl   text,
@enddatetime   datetime,
@IsLock   bit

AS

declare
@err   varchar(50)

begin   tran
set   nocount   on

insert   into   adTa   (UserID,Title,adUrl,enddatetime,IsLock)   values   (@UserID,@Title,@adUrl,@enddatetime,@IsLock)

if   @@error=0
begin
commit   tran
return   1
end
else
begin
rollback   tran
set   @err= '添加广告时出错 '
exec   logAdd   '添加广告出错 ',@err
return   0
end

set   nocount   off
GO


在java中怎么样调用这个sql存储过程,还有就是我再存储过程中里的参数没有指明有output这个输出参数的。但我下面有返回return   1或0的。再net中是可以这样接收的到的(看过以前同学是这样子作的)。但再java中我一时没搞清楚。毕进我现在是初学java所以有这个问题请各位多多指教

------解决方案--------------------
Class.forName( "com.mysql.jdbc.Driver ");
Connection myConn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/mysql ", "root ", "19830102 ");
String query= "call AMadAdd () ";


CallableStatement stmt = myConn.prepareCall(query);
ResultSet rs = stmt.executeQuery();
if(rs.next()) {
System.out.println(rs.getInt(1));
}


上面是调用mysql 存储过程的代码

可以参考一下