createprocedurepro_login@namevarchar(20),@passwordvarchar(20),@iintoutputasselect@i=count(lid)fromloginwherelname=@nameandlpassword=@passworddeclare@iintexecpro_login'a',...
create procedure pro_login
@name varchar(20),@password varchar(20),@i int output
as
select @i=count(lid) from login where lname=@name and lpassword=@password
declare @i int
exec pro_login 'a','0',@i output print @i
declare @i int exec pro_login 'a','a',@i output print @i
上面这个存储过程在java中怎么实现啊,我写的这段代码怎么不好用啊,麻烦帮忙给改下,先谢过了
public boolean login(String name,String password) throws SQLException
{
Dbconn dbc=new Dbconn();
Connection conn=dbc.getConnection();
CallableStatement cstmt=conn.prepareCall("{?=call pro_login(?,?)}");
cstmt.registerOutParameter(1,Types.VARCHAR);
cstmt.setString(2,name);
cstmt.setString(3,password);
boolean b=cstmt.execute();
System.out.print(b);
return b;
}
这是错误代码
[SQLServer]过程 'pro_login' 需要参数 '@i',但未提供该参数。
展开