一个调用存储过程的问题!!请大家帮帮忙!!(很急!!)实在没有分了
第一次使用java调用存储过程出现错误了
存储过程如下:
ALTER PROCEDURE login
@usname nvarchar(50),
@uspwd nvarchar(50),
@resulte bit output
AS
if (select count(*) from usertable where usname='@usname' and usname='@usname')<>0
begin
set @resulte=1
--update usertable set state=@resulte
return @resulte
end
else
begin
set @resulte=0
--update usertable set state=@resulte
return @resulte
end
GO
存储过程的调用如下:
//获取提交的用户名
String name=request.getParameter("usname");
name=getString(name);
//获取提交的密码
String pwd=request.getParameter("uspwd");
pwd=getString(pwd);
//数据库连接
String sqlServerDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
boolean result=true;
Connection conn=null;
CallableStatement cs=null;
ResultSet rs=null;
try{
Class.forName(sqlServerDriver);
conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1314;DatabaseName=mydata","sa","maolixian");
//调用存储过程
cs = conn.prepareCall("{call login(?,?,?)}");
cs.setString(1,name);
cs.setString(2,pwd);
cs.registerOutParameter(3,Types.BIT);
cs.executeQuery();
result = rs.getBoolean(3);
if(result==true)
{
out.println("登陆成功!");
}
else
{
out.println("登陆失败!");
}
}
catch(Exception e)
{
out.println("<p>程序异常!原因:"+e.getMessage()+"</>");
}
finally
{
conn.close();
}
错误提示如下:
程序异常!原因:[Microsoft][SQLServer 2000 Driver for JDBC]No ResultSet set was produced.